8

我的电脑上有 2 个 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 程序吗?

4

3 回答 3

11

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

  • 杰瑞:/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包装JavaApplicationStub.app.

于 2013-09-27T09:13:49.523 回答
2
$ 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

于 2014-04-30T19:50:17.710 回答
1

您始终可以在 Mac 或 Linux 上添加到您的个人资料中。只需创建 if 不存在 ~/.profile 文件并在此行:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home

这应该工作 .zshrc 以及 .bash_profile 仅在终端窗口打开时加载,并在图形环境启动时加载配置文件

于 2014-04-30T14:12:58.920 回答