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吗?如果是,我会采取哪些具体步骤?
答案 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