更改java版本(Mac)

Gra*_*ins 7 java macos java-home

我的电脑上有2个java版本:

/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

1.6.0设置为默认值.如何让我的java程序运行1.7?

试图添加:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

到我的.zshrc文件.但这似乎只改变了我的终端java命令的路径.

还试图像这样更改HOME符号链接:

cd /Library/Java
mv Home Home-1.6
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/ Home
Run Code Online (Sandbox Code Playgroud)

这根本没有效果.

还试过java转换软件:http: //www.guigarage.com/2013/02/change-java-version-on-mac-os/ 但没有效果.

知道如何通过点击它们来启动1.7版本的.app和.jar文件等java程序吗?

Nic*_*udo 9

我相信OS X(至少10.8)使用以下路径:

  • JRE: /System/Library/Frameworks/JavaVM.framework/Versions/Current
  • JDK: /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

这些是符号链接,您可以更新它们以指向1.7安装.

您可以相当轻松地验证这一点:

a)运行which java以检查正在执行的java可执行文件.从理论上讲,这应该是/usr/bin/java.

b)运行ls -la你的java可执行文件,它应该告诉你它指向的位置(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 在我的机器上).

我认为这应该排序你的.jar执行问题.如果您的Java应用程序包含在一个中.app,我相信它有点复杂:如果内存服务,所使用的java版本将取决于JavaApplicationStub所使用的Java .app.