Webstart在OSX上运行错误的jre版本

时间:2013-02-01 01:57:20

标签: macos java jnlp java-web-start

我在OSX 10.8.2中使用jre版本1.7.0_11运行jnlp,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 使用JRE版本1.7.0_11-b21 Java HotSpot(TM)64位服务器

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

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

根本原因:

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

  2. 所有适用于mac但1.7的java版本均由Apple开发,因此他们没有自动下载网址

  3. 1.7 oracle正在为macs开发java

  4. 当我查看java偏好时,只找到java 1.7

  5. Jnlp查找java 1.6并且无法找到它并尝试自动下载并且也无法执行此操作,因此它唯一的选项是在java 1.7上运行

  6. 为了解决这个问题,我们卸载了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-this-app

    java的意志未允许-任何接入到该应用内

答案 1 :(得分: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 applet插件开始在Chrome中运行,我可以从Application / Utilities / JavaPreferences处理所有版本的Java

答案 2 :(得分: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