Ubuntu:将路径从OpenJDK 6更改为Oracle JDK 7

下载最新的.tar文件后,我运行tar zxvf jdk-7u45-linux-x64.tar.gz来提取java文件。

.bashrc文件( vi ~/.bashrc )中设置路径如下;

 export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45/bin/java export PATH=$PATH:/usr/lib/jvm/jdk1.7.0_45/bin export JDK_HOME=/usr/lib/jvm/jdk1.7.0_45 export JRE_HOME=/usr/lib/jvm/jre1.7.0_45 

现在,运行命令java -version或者java,java PATH仍然指向较旧的java版本( java version "1.6.0_27" )。

我知道默认的ubuntu采用OpenJDK路径。 我必须将路径更改为.bashrc文件中设置的系统环境变量的最新版本。

另外, sudo update-alternatives --config java

 Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode * 3 /usr/lib/jvm/jdk1.7.0_45/bin/java 1 manual mode Press enter to keep the current choice[*], or type selection number: 3 

Ubuntu(和Debian)有一种优雅的方式来管理像jdk这样的库。

使用update-alternatives您可以在同一系统上管理多个jdk库,选择要用作主要库的库。

首先,您必须为新安装的jdk安装替代方案:

 sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_45/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_45/bin/javac" 1 

通过这种方式,您可以安装新的jdk作为原始jdk的替代方案。 然后你可以选择你要使用的那个:

 sudo update-alternatives --config java sudo update-alternatives --config javac 

您将被要求在我的系统上选择您要使用的jdk:

 There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 auto mode 1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode * 2 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 manual mode Press enter to keep the current choice[*], or type selection number: 

您可以随时使用--list选项查看javajavac替代选项:

 sudo update-alternatives --list java sudo update-alternatives --list javac 

要查看更多选项,请查看update-alternatives手册页。

你可能想做

 export PATH=/usr/lib/jvm/jdk1.7.0_45/bin:$PATH 

OpenJDK可能仍然在路径中,Linux将使用它找到的第一个java

如果您不需要它,我建议卸载OpenJDK。

尝试在终端中键入以下内容。

sudo update-alternatives --config java

输出将是一些选择,您可以选择安装到您的计算机的正确的一个。

 sudo update-java-alternatives --list 

按名称和目录列出计算机上的所有Java安装,然后运行

 sudo update-java-alternatives --set [JDK/JRE name eg java-8-oracle] 

选择要使用的JRE / JDK。

如果要为每个Java任务使用不同的JDK / JRE,可以运行update-alternatives来一次配置一个java可执行文件; 你可以跑

 sudo update-alternatives --config java[Tab] 

查看可配置的Java命令(java,javac,javah,javaws等)。 接着

 sudo update-alternatives --config [javac|java|javadoc|etc.] 

将该Java任务/命令与特定的JDK / JRE相关联。

您可能还需要为某些应用程序设置JAVA_HOME:您可以使用此答案

 export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 

对于JRE,或

 export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::") 

对于JDK。

在终端中运行命令:

 sudo update-alternatives --config java 

从命令行设置要使用的JRE版本,就像java:1.6和1.8的可用版本安装一样
见下文 :

在此处输入图像描述

选择1选项并设置java-6版本,因为已经在java-8中设置了当前选项。