更新:在下面没有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 安装
如果你在目标计算机上没有管理员权限,你最简单的赌注就是用来安装祖鲁语认证的openjdk:sdkman
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
命令词汇表
sudo :使用超级用户权限执行命令。<command> [command_arguments]
add-apt-repository :Ubuntu(就像每个Debian衍生品一样,一般来说,每个Linux发行版)都有一个主的软件包存储库,可以处理软件包依赖关系和更新等事情。在Ubuntu中,可以使用PPA(个人包存档)扩展主存储库,该PPA通常包含系统中不可用的包(就像oracle jdk一样)或可用包的更新版本(例如:LTS中的LibreOffice 5只能通过此PPA获得)。<PPA_id>
apt-get :它是“the”命令行包处理程序,用于操作系统上每个存储库的状态(安装/更新/升级可以被视为对存储库当前状态的更改)。[install|update|upgrade|purge|...]
在我们的例子中:使用命令,我们通知系统下一次存储库更新也必须从webupd8存储库中检索包信息。sudo add-apt-repository ppa:webupd8team/java
通过我们实际更新系统存储库(所有这些操作都需要超级用户权限,因此我们在命令中预先附加 sudo)。sudo apt-get update
sudo apt-get install oracle-java8-installer
-
update-java-alternatives(更新替代方案的特定java版本):在Ubuntu中,几个软件包提供相同的功能(浏览互联网,编译邮件,编辑文本文件或提供java / javac可执行文件...)。为了允许系统在给定特定任务的情况下选择用户收藏夹工具,使用了使用符号链接的机制。尝试如上所述更新jdk(在java 7和java 8之间切换),并查看如何更改此命令的输出:/etc/alternatives/
ls -l /etc/alternatives/java*
在我们的例子中:更新/etc/alternatives下的符号链接,以指向java-8-oracle可执行文件。sudo update-java-alternatives --set java-8-oracle
额外:
男人 :开始使用男人来阅读一个写得很好的详细帮助(几乎)每个shell命令及其选项(我在这个小答案中提到的每个命令都有一个手册页,试试)。<command>
man update-java-alternatives
apt-cache :查询APT缓存以搜索与提供search_key相关的软件包(可以是软件包名称或软件包描述中的某个单词)。search <search_key>
apt-cache :提供特定软件包的APT信息(软件包版本,已安装与否,描述)。show <package>