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

如何指定在终端使用哪个版本的Java?,java,java-7,centos7,Java,Java 7,Centos7,CentOS 7 devbox安装了Java 8。我需要使用Java7来编译JAR。所以我下载并安装了Java7,但是Java-version仍然显示Java8如何确保在命令行中使用Java 7编译jar? 以下是我安装Java 7的步骤: # wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com

CentOS 7 devbox安装了Java 8。我需要使用Java7来编译JAR。所以我下载并安装了Java7,但是
Java-version
仍然显示Java8如何确保在命令行中使用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
仍然指向Java8,尽管
/usr/java/latest
指向刚刚下载并安装的Java7版本


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

如果您的目标是在当前会话中一次性更改到特定的Java版本,那么您可以将以下命令添加到命令列表中

export PATH=$JAVA_HOME/bin:$PATH
如果您的目标是更持久地切换到特定版本,那么您可以使用命令作为默认值切换到Java7

alternatives --config java
JAVA_HOME环境变量没有什么神奇之处。这只是在启动java应用程序的shell脚本中使用的一种常见约定。如果未使用已定义的变量,则该变量不会执行任何操作

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

参考资料:

@JasonZ CentOS 7。请参阅OP。只需将完整路径放在其他java编译器上即可。这个问题实际上并不重复。有没有办法再次打开此问题的答案?虽然此链接可以回答此问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能无效。-@Bartłomiejsemanńczyk答案已经包含了关键部分,它包含了运行命令来设置正在使用的Java。@Bartłomiejsemanńczyk它包含了命令。参考资料是供额外阅读的。我发现它对我的问题很有帮助。。如果你能对这个命令有用的地方再多加一点说明,它将非常有用。第一个命令是我需要通过每个终端/会话更改JDK版本的命令。当然,必须先更换JAVA_HOME。非常感谢!
alternatives --install /usr/bin/java java /usr/java/latest/bin/java 1
alternatives --config java