2

我在 OSX 10.8.2 中使用 jre 运行 jnlp,jre 版本为 1.7.0_11,并且 jnlp 标记设置为在 1.6 中运行:

<j2se version="1.6" href="http://java.sun.com/products/autodl/j2se">

或者

<j2se version="1.6*" ...>

但是,当 jnlp 运行时,控制台中会显示以下内容: Java Web Start 10.11.2.21 Using JRE version 1.7.0_11-b21 Java HotSpot(TM) 64-Bit Server

当我使用 jre 1.7 在 windows 中运行相同的 jnlp 文件时,它工作正常,它加载 jre 1.7,然后下载 jre 1.6 并在其上运行。

有任何想法吗?

4

3 回答 3

1

根本原因:

  1. jnlp 设置为仅使用 java 1.6,否则从自动下载站点下载并自动安装

  2. mac 的所有 java 版本,但 1.7 都是由 Apple 开发的,因此它们没有自动下载 url

  3. 1.7之后oracle正在为macs开发java

  4. 当我查看 java 首选项时,只发现 java 1.7

  5. Jnlp 寻找 java 1.6 并且找不到它并尝试自动下载并且也无法做到这一点,所以它唯一的选择是在 java 1.7 上运行

为了解决这个问题,我们卸载了 java 1.7,然后我们使用以下说明将 1.6 java 默认设置为:http: //support.apple.com/kb/dl1573

http://blog.nominet.org.uk/tech/2008/04/24/restarting-the-awt-native-event-thread/

http://support.apple.com/kb/HT5559

然后我们遇到了证书问题,但我们做了以下事情: https ://stackoverflow.com/questions/11727955/the-digital-signature-is-not-trusted-java-will-not-allow-any-access-to -这个应用程序

java 将不允许任何访问此应用程序

于 2013-02-01T22:44:42.660 回答
1

现在,他们告诉我他们需要默认的 java 1.7。

所以,我发现安装 JDK 1.7 而不是 JRE,它是固定的。我可以同时拥有这两个版本,并且我的 jnlp 正在使用 jre 1.6 运行。

http://www.oracle.com/technetwork/java/javase/downloads/index.html

然后我必须从http://support.apple.com/kb/HT5559运行以下命令:

sudo mkdir -p /Library/Internet\ Plug-Ins/disabled

sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled

sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo ln -sf /System/Library/Frameworks/JavaVM.framework/Commands/javaws /usr/bin/javaws

运行后,java小程序插件开始在Chrome中运行,我可以处理Application/Utilities/JavaPreferences中的所有Java版本

于 2013-02-07T16:29:13.813 回答
0

修复这些链接以使 java -version 指向 7

cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo rm CurrentJDK
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/ CurrentJDK
sudo ln -s CurrentJDK 1.7
sudo ln -s CurrentJDK 1.7.0

您可以创建指向旧 1.6 的链接

sudo rm 1.6 1.6.0
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents 1.6
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents 1.6.0
于 2013-02-20T13:24:24.710 回答