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

时间:2013-12-27 04:30:20

标签: java eclipse google-app-engine

在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

任何帮助都会有用。

2 个答案:

答案 0 :(得分:51)

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

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

如果此问题导致严重问题,我建议采取以下几点:

  • 恢复为JDK 1.7.0_25,直到向JDK添加修复程序。

  • 密切注意bug report,以便了解在此问题上所做的任何工作。甚至可以添加您自己的评论,以便Oracle了解问题的严重性。

  • 尝试JDK early releases出来。其中一个可能会解决您的问题。

JDK 7 Installation for Mac OS X提供了在Mac OS X上安装JDK的说明。它还包含有关删除JDK的说明。

答案 1 :(得分:7)

  1. 从此处安装Java 7u21:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u21-oth-JPR

  2. 设置这些变量:

    export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home"
    export PATH=$JAVA_HOME/bin:$PATH
    
  3. 运行您的应用并充满乐趣:)

  4. (次要更新:在引用中输入变量值)