这可能是一个没有答案的问题,但我认为仍然值得提出。我有两个应用程序 A 和 B,其中 A 需要 JRE 5,B 需要 JRE 7(它们带有 windows 和 linux 版本)。但是,需要 JRE 5 的应用程序不会针对 JRE 7 运行。如何在运行 A 和 B 之前根据我需要的两者中的哪一个来调整 PATH 环境变量以指向正确的 java 程序跑步?
似乎必须有一种方法来设置特定于应用程序的 PATH 变量/JREorJDK 指针。
谢谢,
杰森·波西特
两个选项:从完整路径调用 java 引擎,具体取决于您想要的,例如对于 Java 5:
c:\jdk5\bin\java.exe
|/usr/bin/java5/java
MyJava5Class
相应地更改 java 7 的路径。
或者您可以设置 Java5_Home 和 Java7_Home 环境变量以指向这些位置的根安装目录(或者如果您像我一样懒惰直接进入 bin\java.exe)并使用它们调用 java 引擎:
%Java5_Home%\bin\java.exe Java5Class
或者
$Java7_Home/bin/java MyShinyNewJava7Class
您可以在特定于您使用的 java 版本的服务器启动脚本中设置 JAVA_HOME
这有点棘手,如果您尝试在同一台服务器上部署应用程序,那么您必须修改启动脚本以在启动时获取 JAVA_HOME 值,然后相应地设置 JAVA_HOME。
对于 JBOSS,您可以在 JBOSS_HOME/bin/run.conf 中设置 JAVA_HOME
对于 tomcat,您可以在 CATALINA_HOME/bin/setEnv.cmd 中设置 JAVA_HOME