我的计算机上有两个java版本:
/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0设置为默认值。如何让我的java程序运行1.7?
试图补充:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home
到我的 .zshrc 文件。但这似乎只改变了我的终端java
命令的路径。
还试图像这样更改HOME符号链接:
cd /Library/Java
mv Home Home-1.6
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/ Home
这根本没有效果。
还试过java转换软件: http://www.guigarage.com/2013/02/change-java-version-on-mac-os/ 但没有效果。
任何想法如何通过点击它们来启动1.7版本的.app和.jar文件等java程序?
答案 0 :(得分:9)
我相信OS X(至少10.8)使用以下路径:
/System/Library/Frameworks/JavaVM.framework/Versions/Current
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
这些是符号链接,您可以更新它们以指向1.7安装。
您可以相当轻松地验证这一点:
a)运行which java
以检查正在执行的java可执行文件。从理论上讲,这应该是/usr/bin/java
。
b)在你的java可执行文件上运行ls -la
,它应该告诉你它指向的位置(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
在我的机器上。)
我认为这应该对您的.jar
执行问题进行排序。如果您的Java应用程序包含在.app
中,我认为它有点复杂:如果内存服务,则使用的java版本将取决于JavaApplicationStub
使用的.app
。
答案 1 :(得分:1)
您始终可以在Mac或Linux上添加into your profile。只要创建如果不存在〜/ .profile文件,那么这一行:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home
这应该有效.zshrc和.bash_profile仅在终端窗口打开并profile when your graphical environment starts up时加载。
答案 2 :(得分:1)
$ edit ~/.profile
#Java 1.8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
export PATH=${PATH}:${JAVA_HOME}
$ java -version
java version "1.8.0_20-ea"
以下是步骤:
http://ukitech.blogspot.com/2014/04/switching-version-of-java-on-mac.html