【问题标题】:How do I specify which version of Java to use at terminal? [duplicate]如何指定在终端使用的 Java 版本? [复制]
【发布时间】:2015-12-28 20:34:06
【问题描述】:

CentOS 7 devbox 已安装 Java 8。我需要使用 Java 7 来编译 jars。于是我下载并安装了 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?如果是,我应该采取哪些具体步骤?

【问题讨论】:

  • @JasonZ CentOS 7。见 OP。
  • 只需将完整路径放入您的其他 java 编译器
  • 这个问题确实不是重复的。有没有办法再次打开这个问题以获得答案?

标签: java java-7 centos7


【解决方案1】:

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

export PATH=$JAVA_HOME/bin:$PATH

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

alternatives --config java

【讨论】:

  • 第一个命令是我需要通过每个终端/会话更改 JDK 版本。当然必须先更改 JAVA_HOME。非常感谢!
【解决方案2】:
${JAVA_HOME}/bin/java -version

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

【讨论】:

    【解决方案3】:
    alternatives --install /usr/bin/java java /usr/java/latest/bin/java 1
    alternatives --config java
    

    参考:Centos forum

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • @BartłomiejSemańczyk 答案确实已经包含了基本部分,它包括运行命令以设置正在使用的 Java。
    • @BartłomiejSemańczyk 它确实包含命令。参考是为了额外阅读。
    • 我发现它对我的问题很有帮助.. 如果您可以添加更多关于此命令有用的说明,它将非常有帮助。
    猜你喜欢
    • 2016-09-10
    • 2015-02-11
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 2023-03-28
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多