如何指定在终端上使用哪个版本的Java?

时间:2015-12-28 20:34:06

标签: java java-7 centos7

CentOS 7 devbox安装了Java 8。我需要使用Java 7来编译jar。所以我下载并安装了Java 7,但是java -version仍然显示了Java 8. 如何确保使用Java 7在命令行编译jar?

以下是我安装Java 7的步骤:

# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.rpm  
# rpm -ivh jdk-7u75-linux-x64.rpm
# export JAVA_HOME=/usr/java/latest
# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

正如您所看到的,java -version仍然指向Java 8,即使/usr/java/latest指向刚刚下载和安装的Java 7版本。

我想要运行的命令是java -jar gs-actuator-service-0.1.0.jar有人可以展示如何更改该特定命令中的语法以指定Java 7版本吗?或者我需要删除Java 8吗?如果是,我会采取哪些具体步骤?

3 个答案:

答案 0 :(得分:5)

如果您的目标是将该特定Java版本更改为当前会话的一次性内容,则可以将以下内容添加到命令列表中。

export PATH=$JAVA_HOME/bin:$PATH

如果您的目标是更长久地切换到特定版本,那么您可以使用alternatives命令切换到Java 7作为默认值。

alternatives --config java

答案 1 :(得分:1)

${JAVA_HOME}/bin/java -version

JAVA_HOME环境变量没有什么神奇之处。它只是在启动Java应用程序的shell脚本中使用的常见约定。如果未使用,则定义的变量不执行任何操作。

答案 2 :(得分:-1)

alternatives --install /usr/bin/java java /usr/java/latest/bin/java 1
alternatives --config java

参考:Centos forum