类 JavaLaunchHelper 在两者中都实现了。两者中的一个将被使用。哪一个是未定义的

有一个简单的 Google App Engine Web Application Project on Eclipse Kepler on Mac OS X with java version“1.7.0 _ 45”

有以下情况:

objc[5398]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.

当我尝试在本地主机上作为 Web 应用程序运行时

Possibly related to the following issue :

Https://code.google.com/p/googleappengine/issues/detail?id=10046

任何帮助都是有用的。

119911 次浏览

从我在线发现的情况来看,这是 JDK 1.7.0 _ 45中引入的一个 bug。它似乎也出现在 JDK 1.7.0 _ 60中。Oracle 网站上的一个 漏洞报告声明,虽然有一个修复程序,但是在 JDK 发布之前已经被删除了。我不知道为什么修复被删除,但它证实了我们已经怀疑的事情—— JDK 仍然是坏的。

Bug 报告声称该错误是良性的,不应该导致任何运行时问题,尽管其中一条评论不同意这种说法。根据我自己的经验,尽管看到了消息,但是我在使用 JDK 1.7.0 _ 60时没有遇到任何问题。

如果这个问题造成了严重的问题,我有几点建议:

  • 恢复到 JDK 1.7.0 _ 25,直到向 JDK 添加修复程序。

  • 密切关注 漏洞报告,以便了解在这个问题上正在进行的任何工作。甚至可以添加您自己的评论,这样 Oracle 就会意识到问题的严重性。

  • JDK 早期版本出来的时候试试,其中一个可能会解决你的问题。

在 MacOSX 上安装 JDK 的说明可以在 用于 Mac OS X 的 JDK 7安装找到。它还包含删除 JDK 的说明。

  1. Install Java 7u21 from here: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u21-oth-JPR

  2. set these variables:

    export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home"
    export PATH=$JAVA_HOME/bin:$PATH
    
  3. Run your app and fun :)

(Minor update: put variable value in quote)