JavaLaunchHelper类在两者中实现。将使用两者之一。哪一个未定义[重复]

问题

这个问题在这里已有答案:

  • 类JavaLaunchHelper在... libinstrument.dylib中实现。将使用两者之一。哪一个未定义11个答案

在Mac OS X上的Eclipse Kepler上安装一个简单的Google App Engine Web应用程序项目,版本为"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.

当我尝试在localhost上作为Web应用程序运行时

可能与以下问题有关:
https://code.google.com/p/googleappengine/issues/detail?id=10046
任何帮助都会有用。


#1 热门回答(51 赞)

从我在网上找到的,这是JDK 1.7.0_45中引入的一个错误。它似乎也存在于JDK 1.7.0_60中。 Oracle网站上的Abug report指出,虽然有一个修复程序,但在JDK发布之前它已被删除。我不知道为什么修复程序被删除了,但它确认了我们已经怀疑的东西 - JDK仍然被破坏了。

该错误报告声称该错误是良性的,不应该导致任何运行时问题,尽管其中一条评论不同意。根据我自己的经验,尽管看到了消息,但我仍然可以使用JDK 1.7.0_60毫无问题地工作。

如果这个问题导致严重问题,我建议以下几点:

  • 恢复到JDK 1.7.0_25,直到向JDK添加修复程序。
  • 密切关注错误报告,以便了解在此问题上正在进行的任何工作。甚至可以添加你自己的评论,以便Oracle了解问题的严重性。
  • 尝试JDK早期版本。其中一个可能会解决你的问题。

有关在Mac OS X上安装JDK的说明,请访问999701292。它还包含有关删除JDK的说明。


#2 热门回答(7 赞)

  • 从这里安装Java 7u21:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u21-oth-JPR
  • 设置这些变量:export JAVA_HOME ="/ Library / Java / JavaVirtualMachines / jdk1.7.0_21.jdk / Contents / Home"
    export PATH = $ JAVA_HOME / bin:$ PATH
  • 运行你的应用程序和乐趣:)

(次要更新:将变量值放在引号中)