2016-07-25 60 views

回答

9

如果您正在转向Java 8并且仍想运行Java 7,以下脚本可能会对您有所帮助。

步一步的指导
这个脚本,使您可以1.8Java和Java之间的1.7切换。

将以下代码块插入您的主目录中的.bashrc.bash_profile脚本中。

function setjdk() { 
    if [ $# -ne 0 ]; then 
    removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin' 
    if [ -n "${JAVA_HOME+x}" ]; then 
    removeFromPath $JAVA_HOME 
    fi 
    export JAVA_HOME=`/usr/libexec/java_home -v [email protected]` 
    export PATH=$JAVA_HOME/bin:$PATH 
    fi 
} 
function removeFromPath() { 
    export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;") 
} 

#set default jdk version 
setjdk 1.7.0_60 

一旦设置了bash启动脚本,可以使用以下命令在命令行中切换不同的版本。

$ setjdk 1.7 
$ java -version 
java version "1.7.0_60" 
Java(TM) SE Runtime Environment (build 1.7.0_60-b19) 
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode) 

切换回Java 1.8并验证您的版本。运行以下命令。

$ setjdk 1.8 
java version "1.8.0_66" 
Java(TM) SE Runtime Environment (build 1.8.0_66-b17) 
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) 
+1

我已经在我的'.bash_profile'中使用了这个确切的脚本几年了,它是光荣的。按广告方式工作。 – nasukkin

+0

在哪种情况下,您需要在两者之间进行切换? –

+0

只需注意,这只会影响命令行将看到的java。它不会影响浏览器插件。也很好,可能不会影响您的IDE使用的Java。 –

0

如果您在不同的JDK上运行特定的应用程序,那么最简单的方法可能是为每个应用程序创建一个脚本。您只需设置适当的环境变量,然后完全路径所需的java可执行文件。

您设置的变量应该是临时的 - 仅用于脚本的生命。

对于所有java应用程序来说,这并不是一个坏主意,而是始终输入“Java -jar xxx”。

如果你想运行与2个不同版本的Java运行相同的应用程序(例如测试),那么你需要2个启动脚本为您的应用程序或Pritam的解决方案。