多个 Java 版本

多个 Java 版本

我有一台运行 rhel5 和 jre 1.6 的服务器。目前我的所有应用程序都运行正常。但我想安装 java 1.7,但保留 java 1.6 作为默认版本,因此我正在运行的应用程序会受到影响。如果我想从 rpm 安装 java 1.7,我该怎么做,以及如何在不更改默认 java 版本的情况下使用新版本的 java 运行我的新应用程序

答案1

安装所需的 Java 版本,即使默认 Java 版本发生变化,正在运行的应用程序也不会受到影响。然后运行该alternatives实用程序以选择您的默认 Java 版本:

alternatives --config java
alternatives --config javac

使用以下方法验证您的设置

java -version
javac -version

如果您不确定,请先在非生产主机上尝试此操作。

编辑:要强制 tomcat 使用特定的 java 版本,而不管默认版本是什么,请setenv.sh在 tomcat 的bin目录中放置一个包含

JAVA_HOME=/path/to/jdk

来源:https://stackoverflow.com/questions/1698913/how-to-set-java-home-in-tomcat-config

答案2

首先安装Java 7/8使用:

sudo apt-get install openjdk-7-jdk

然后您需要使用以下方法更新替代方案:

sudo update-alternatives --config java

你会看见:

There are 2 choices for the alternative java (providing /usr/bin/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-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1062      manual mode

Press enter to keep the current choice[*], or type selection number:

选择您需要的一个并输入:

java -version

然后您可以在 Java 7 上运行您的应用程序,然后将其回滚到版本 6。

答案3

首先,您需要确保您的 java 应用程序从绝对路径运行其 java/javac。现在默认 java 就是您执行以下命令时所拥有的 java:

# java -version

您想要运行的每个 Java 应用程序都必须根据您的需要指定绝对路径。要更改默认执行:

# which java

并找出你的默认 java bin 所在的位置,并将链接更改为你指定的 jdk

相关内容