因此Java 11已经发布。有人知道如何从命令行安装它(Oracle的OpenJDK)吗?
我希望看到与Oracle Java 10相似的内容:
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer
PS在类似问题中建议的指导:
sudo apt-get install openjdk-11-jdk
不起作用。
yum),或者您可以从存档库手动安装。但是显然还没有Debian apt-get。问:那为什么不只是从tar.gz安装呢?另请参见update-alternatives
Answers:
现在可以通过以下方式安装openjdk-11:
sudo apt-get install openjdk-11-jdk
(以前它安装了openjdk-10,但现在不再安装了)
openjdk-11-jdk-headless。或者,如果您只想运行某些内容而不是进行编译,则openjdk-11-jre[-headless]可能也适合您。
sudo add-apt-repository ppa:openjdk-r/ppa才能添加存储库。
sudo apt-get update可以更新存储库。然后sudo apt-get install openjdk-11-jdk工作。
要在Ubuntu中安装Openjdk 11,以下命令可以很好地工作。
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt install openjdk-11-jdk
openjdk-11-jdk-headless
对于在Ubuntu上运行JDK并想要升级到JDK11的任何人,我建议通过sdkman安装。SDKMAN是用于切换JVM,删除和升级的工具。
SDKMAN是用于在大多数基于Unix的系统上管理多个软件开发套件的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API,用于安装,切换,删除和列出候选人。
安装SDKMAN
$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version
安装Java(11.0.3-zulu)
$ sdk install java
须藤apt-get install openjdk-11-jdk
之后,尝试
Java版本
确保Java版本为1.11.x,如果发现旧版本或旧版本,请检查以下命令以查看可用的jdks,
sudo update-java-alternatives --list
您应该会看到类似下面的内容,
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
您可以从上面的列表中看到可用的Java 1.11,使用以下命令将Java 11设置为默认值,
sudo update-alternatives --config Java
对于上面的命令,您将获得类似下面的内容,并且还会要求设置选项,
替代java(提供/ usr / bin / java)有3个选择。
选择路径优先状态
0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111自动模式
1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111手动模式
* 2 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081手动模式
3 /usr/lib/jvm/jdk1.8.0_211/bin/java 0手动模式
按下以保留当前选择[*],或键入选择编号:
您可以选择所需的选择编号,我的情况是0
对于javac,
sudo update-alternatives --config javac
结果将如下所示,
替代javac(提供/ usr / bin / javac)有3个选择。
选择路径优先状态
0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111自动模式
1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111手动模式
* 2 / usr / lib / jvm / java-8-openjdk-amd64 / bin / javac 1081手动模式
3 /usr/lib/jvm/jdk1.8.0_211/bin/javac 0手动模式按下以保留当前选择[*],或键入选择编号:
就我而言,又是0
完成上述步骤后,尝试
Java版本
它将显示如下内容,
openjdk版本“ 11.0.4” 2019-07-16
OpenJDK运行时环境(内部版本11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3)
OpenJDK 64位服务器VM(内部版本11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3,混合>模式,共享)
在Ubuntu中,只需遵循以下命令即可安装Open JDK。
sudo apt-get update
sudo apt-get install default-jdk
您可以按照以下命令检查Java版本。
java -version
如果要安装Oracle JDK 8,请遵循以下命令。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
如果要切换Java版本,可以尝试以下方法。
vi ~/.bashrc并添加以下行export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(path / jdk文件夹)
要么
sudo vi /etc/profile 并添加以下行
#JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export JRE_HOME
export PATH
您可以在其他版本上发表评论。这需要注销然后重新登录才能使用。如果您想随时随地尝试,可以在同一终端上键入以下命令。它只会更新特定终端的Java版本。
source /etc/profile
您始终可以通过java -version命令检查Java版本。
我来这里是为了寻找答案,因为没有人将命令用于oracle Java 11,而只有openjava 11,我才知道如何在Ubuntu上进行操作,其语法如下:
sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java11-installer
首先检查default-jdk包装,很可能已经为您提供了OpenJDK >= 11。
参考:https : //packages.ubuntu.com/search? keywords = default-jdk & searchon = names & suite = all & section =all
所以从Ubuntu 18.04 LTS开始应该没问题。
sudo apt update -qq
sudo apt install -yq default-jdk
注意:别忘了设置 JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/default-java
mvn -version
对于Ubuntu 16.04 LTS,仅openjdk-8-jdk官方库中提供了它,因此您需要在ppa中找到它:
sudo add-apt-repository -y ppa:openjdk-r/ppa
sudo apt update -qq
sudo apt install -yq openjdk-11-jdk
注意:别忘了设置 JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
mvn -version
我创建了一个Bash脚本,该脚本基本上可以自动完成链接的类似问题中所述的手动安装。它需要tar.gz文件及其SHA256和值。您可以找到更多信息并从我的GitHub项目页面下载脚本。它是根据MIT许可提供的。
sudo apt-get install openjdk-11-jdk?