【问题标题】:Java 11 installation problem for Ubuntu 16.04Ubuntu 16.04 的 Java 11 安装问题
【发布时间】:2023-03-09 11:04:01
【问题描述】:

我已经尝试了所有方法,但不知何故我无法安装 java 11。 显示我以前的 java 版本

我做了以下步骤:

第 1 步:我已安装:来自 Oracle 网站的 jdk-11.0.8_linux-x64_bin.deb 文件。

第 2 步: 运行此命令:sudo dpkg -i jdk-11.0.8_linux-x64_bin.deb

第 3 步: sudo get update

第 4 步: 运行此命令 sudo vim /etc/profile.d/jdk.sh

第 5 步: 在空文件夹中添加这一行:

export JAVA_HOME=/usr/lib/jvm/jdk-11.0.8/
export PATH=$PATH:$JAVA_HOME/bin

并保存此文件。比我用ls 签入usr/lib/jvm 路径 我明白了:

default-java@  java-1.8.0-openjdk-amd64@  java-8-openjdk-amd64/  jdk-11.0.8/

比我输入这个命令:

source /etc/profile.d/jdk.sh

我得到这些输出:

    set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/home/duygu/bin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /home/duygu/bin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/home/duygu/.local/bin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /home/duygu/.local/bin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/usr/local/sbin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /usr/local/sbin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/usr/local/bin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /usr/local/bin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/usr/sbin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /usr/sbin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/usr/bin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /usr/bin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/sbin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /sbin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/bin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /bin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/usr/games may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /usr/games'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/usr/local/games may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /usr/local/games'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/snap/bin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /snap/bin'?
set: Warning: path component /usr/lib/jvm/jdk-11.0.8/bin:/usr/local/jdk-11.0.2/bin may not be valid in PATH.
set: No such file or directory
set: Did you mean 'set PATH $PATH /usr/local/jdk-11.0.2/bin'?

当我检查 java -version 我得到:openjdk version "1.8.0_265"

然后输入这个命令:update-java-alternatives --list我得到:

java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

我尝试了 sudo reboot 并再次尝试,但我没有安装 java 11 。我该如何安装?我的错在哪里?

已编辑:

我已经尝试过以下几行:

sudo add-apt-repository ppa:linuxuprising/java

sudo apt-get update

sudo apt-get install openjdk-11-jdk

我收到这样的错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package openjdk-11-jdk is a virtual package provided by:
  oracle-java15-installer 15-1~linuxuprising3
  oracle-java14-installer 14.0.2-1~linuxuprising1
  oracle-java11-installer-local 11.0.8-1~linuxuprising0
You should explicitly select one to install.

E: Package 'openjdk-11-jdk' has no installation candidate

【问题讨论】:

  • 为什么复杂的安装使用下载而不是使用apt-get install openjdk-11-jdk,正如stackoverflow.com/questions/52504825/…所建议的那样。这也应该在askubuntu.com
  • 我已经尝试过了,但我收到错误我提到它新编辑
  • @matt 我该如何解决这个问题?
  • 我在computingforgeeks.com/…找到了这个安装方法所以我用这个步骤
  • @matt 我已经尝试安装它们我在所有推荐的安装中都得到一个没有安装候选错误

标签: java ubuntu-16.04 java-11


【解决方案1】:

你大概可以通过以下命令安装java 11

sudo add-apt-repository ppa:linuxuprising/java

sudo apt-get update

sudo apt-get install openjdk-11-jdk

您可以参考这个link 了解如何在 ubuntu 上安装 openjdk 11。

然后就可以运行了

update-alternatives --config java

更新java版本。您可以参考此link 了解如何更新 java 替代品。

【讨论】:

  • 当我做所有这些事情时,我尝试了你的建议,但我得到了错误,我将添加到我的主题中,请再看一遍。
  • 尝试添加sudo add-apt-repository ppa:openjdk-r/ppa 而不是sudo add-apt-repository ppa:linuxuprising/java 然后运行安装命令
【解决方案2】:

安装后执行此操作,

sudo nano /etc/environment
JAVA_HOME="/usr/lib/jvm/jdk-11.0.8"

请注意,/bin 不包括在内。保存并退出。那么,

source /etc/environment

顺便说一句,为什么要使正常安装复杂化?

【讨论】:

  • 感谢您的回复。我添加了这一行并运行 source /etc/enviroment 我收到此错误:不支持使用'='。在fish中,请使用'set JAVA_HOME /usr/lib/jvm/jdk-11.0.8'。 /etc/environment(第 2 行):JAVA_HOME="/usr/lib/jvm/jdk-11.0.8"
  • @hobik 我以为你在使用 bash shell。在fish shell中,设置变量是不同的。试试在set命令里,不知道quotes能不能用。试试set JAVA_HOME /usr/lib/jvm/jdk-11.0.8set JAVA_HOME '/usr/lib/jvm/jdk-11.0.8'
猜你喜欢
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 2016-09-27
  • 1970-01-01
相关资源
最近更新 更多