所以我刚刚安装了 Ubuntu,这是我第一次在 Linux 环境中工作,所以在这里请忍受我的笨拙。
无论如何,我直接从 Oracle 下载了 Java 8 JDK,但我知道还有一个适用于 Java 8 的 OpenJDK。我有两个问题。
user@computer:~/Java$ sudo apt-get install openjdk-8-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package openjdk-8-jdk
任何帮助将不胜感激。同时,我将只使用 Oracle 包。谢谢。
编辑:
所以,现在我有一个新问题。我安装了 OpenJDK 7,它与 Maven 一起提供,并且在我意识到我得到了一个二合一的交易之前刚刚安装。现在我有 JDK 7、Eclipse 和 Maven,它们都在工作,但我坚持使用 JDK 7 而不是 8。
我看到下面有一个链接,我打算早上去看看,现在是凌晨2点,我现在很累。对于这个新问题的任何其他建议将不胜感激,否则我肯定会在早上的第一件事中查看该链接。
最佳答案
更新 : 下面没有root权限安装
如果已经有(半官方)存储库能够解决您的问题,我建议您不要在 ubuntu 系统上手动安装软件包。此外,使用 Oracle JDK 进行开发,只是为了避免(非常零星的)兼容性问题(我多年前尝试过,现在肯定更好)。
将 webupd8 存储库添加到您的系统:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
安装您喜欢的 jdk 版本(从 java-6 到 java-9 的版本可用):
sudo apt-get install oracle-java8-installer
您还可以安装多个版本的 jdk,混合使用 openjdk 和 oracle 版本。
然后你可以使用命令 update-java-alternatives 在已安装的版本之间切换:
# list available jdk
update-java-alternatives --list
# use jdk7
sudo update-java-alternatives --set java-7-oracle
# use jdk8
sudo update-java-alternatives --set java-8-oracle
需求
如果您收到
add-apt-repository: command not found
一定要有software-properties-common
安装:sudo apt-get install software-properties-common
如果您使用的是旧版本的 Ubuntu:
sudo apt-get install python-software-properties
没有root权限的JDK安装
如果您在目标机器上没有管理员权限,最简单的方法是使用
sdkman
安装 zulu 认证的 openjdk:curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java
注意:sdkman 也允许安装官方的 Oracle JDK,尽管它不是默认选项。查看可用版本:
sdk ls java
安装所选版本:
sdk install java <version>
例如:
sdk install java 9.0.1-oracle
命令词汇表
<command> [command_arguments]
: 以 super 用户权限执行命令。 <PPA_id>
:Ubuntu(就像每个 Debian 衍生产品和一般来说每个 Linux 发行版一样)有一个主要的软件包存储库,用于处理诸如软件包依赖项和更新之类的事情。在 Ubuntu 中,可以使用 PPA(个人包存档)扩展主存储库,它通常包含系统中不可用的包(就像 oracle jdk)或可用包的更新版本(例如:LTS 中的 LibreOffice 5 只能通过这个PPA)。 [install|update|upgrade|purge|...]
:它是用于操纵系统上每个存储库状态的“命令行包处理程序”(安装/更新/升级可以视为存储库当前状态的更改)。 在我们的例子中:使用命令
sudo add-apt-repository ppa:webupd8team/java
我们通知系统下一次存储库更新也必须从 webupd8 存储库中检索包信息。与
sudo apt-get update
我们实际上更新了系统存储库(所有这些操作都需要 super 用户权限,因此我们在命令前加上 sudo)。sudo apt-get install oracle-java8-installer
/etc/alternatives/
使用。尝试按照上面的指示更新 jdk(在 java 7 和 java 8 之间切换)并查看如何更改此命令的输出:ls -l /etc/alternatives/java*
在我们的例子中:
sudo update-java-alternatives --set java-8-oracle
更新/etc/alternatives 下的符号链接(symbolic link)以指向 java-8-oracle 可执行文件。附加信息:
<command>
:开始使用 man 来阅读(几乎)每个 shell 命令及其选项(我在这个小答案中提到的每个命令都有一个手册页,尝试 man update-java-alternatives
)的写得很好的和详细的帮助。 search <search_key>
: 查询APT缓存以搜索与提供的search_key相关的包(可以是包名或包描述中的某个词)。 show <package>
: 提供特定包的 APT 信息(包版本、安装与否、描述)。 关于java - Ubuntu:OpenJDK 8 - 无法找到包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32942023/