无法将Java路径更改为Oracle JDK

时间:2020-05-26 21:25:54

标签: java rhel

我正在使用已安装默认OpenJDK的RHEL8。 哪个java命令指向/ usr / bin / java。 java -version给出openjdk版本“ 1.8.0_252”

将Java安装在/ u01 / app / java /位置。如下所示修改.bashrc并将其来源。 导出JAVA_HOME = / u01 / app / java / jdk1.8.0_241 / PATH =“ $ JAVA_HOME / bin / java:$ HOME / .local / bin:$ HOME / bin:$ PATH” 导出路径

现在,JAVA_HOME指向/u01/app/java/jdk1.8.0_241/,但是哪个java或java -version仍指向OpenJDK。

  • 在.bash_profile文件中添加了相同内容,并将其从.bashrc中删除:结果相同
  • 删除了OpenJDK,并在.bash_profile中进行了更改。但是这样做最终导致“找不到命令”错误。

我该如何解决?

2 个答案:

答案 0 :(得分:0)

这是路径问题。 我已经为PATH指定了PATH =“ $ JAVA_HOME / bin / java:$ HOME / .local / bin:$ HOME / bin:$ PATH”。事实并非如此。 将我的PATH修改为以下内容。有效。

PATH =“ $ JAVA_HOME / bin:$ HOME / .local / bin:$ HOME / bin:$ PATH” 导出路径

答案 1 :(得分:-1)

之所以会发生这种情况,是因为您在调用Java时实际上会调用ls -l /usr/bin/java,发出/usr/bin/java的Java可能会链接到openjdk安装(可能是通过双链接:第一个是{ {1}}到/etc/alternatives/java,第二个是“真实” java可执行文件的链接)。例如,在我的debian上:

gianluca@asus-debian:~$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 mag 20  2018 /usr/bin/java -> /etc/alternatives/java
gianluca@asus-debian:~$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 43 nov 22  2019 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java

您可以通过两种方式进行修复:

  • 肮脏的方式,您手动更新/ usr / bin中所有导致不想要的Java版本的符号链接,并使它们指向所需的Java版本
  • 干净的方法,您可以使用替代方法来完成您的工作。

您可以阅读有关RHEL here的替代方法的更多信息(中页...“较长版本”)。

良好链接

相关问题