两者都实现了 JavaLaunchHelper 类。将使用两者之一。哪一个是未定义的[重复]

Posted

技术标签:

【中文标题】两者都实现了 JavaLaunchHelper 类。将使用两者之一。哪一个是未定义的[重复]【英文标题】:Class JavaLaunchHelper is implemented in both. One of the two will be used. Which one is undefined [duplicate] 【发布时间】:2014-01-14 16:40:38 【问题描述】:

在 Java 版本“1.7.0_45”的 Mac OS X 上的 Eclipse Kepler 上有一个简单的 Google App Engine Web 应用程序项目

遇到以下情况:

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

任何帮助都会很有用。

【问题讨论】:

那么你最终是如何解决这个问题的? 同样的事情发生在 jdk1.8.0_05 如果您将某些内容作为重复项关闭,请放置指向该副本的链接,或者重新打开它! 查看答案***.com/a/43182301/3696510,了解何时解决问题。 @Pinocchio :还没有解决它,但它并没有阻止我,因为它只是一个警告并且应用程序运行了。我按照上面链接中的说明将 JAVA_HOME 添加到 PATH 中,但这也不能解决警告。 【参考方案1】:

根据我在网上找到的,这是 JDK 1.7.0_45 中引入的一个错误。它似乎也出现在 JDK 1.7.0_60 中。 Oracle 网站上的bug report 指出,虽然有修复,但在 JDK 发布之前已将其删除。我不知道为什么修复被删除,但它证实了我们已经怀疑的——JDK 仍然坏了。

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

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

恢复到 JDK 1.7.0_25,直到将修复程序添加到 JDK。

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

在JDK early releases 出现时尝试一下。其中之一可能会解决您的问题。

在 Mac OS X 上安装 JDK 的说明可在 JDK 7 Installation for Mac OS X 获得。它还包含删除 JDK 的说明。

【讨论】:

刚下载了JDK 7u51的Mac,问题依旧。 已验证的错误仍然存​​在于 Mac OS 10.9.2 上的 JDK 1.8.0 中。尝试在 Java 8 上的 Maven 中运行 jacoco 代码覆盖率时遇到它。下面提到的 PATH 修复似乎没有帮助。 建议恢复到旧的JDK有点不负责任。自该版本以来,修复了许多安全漏洞。 在 Mac OS X 10.11.3 (El Capitan) 上的 JDK 1.8.0_72 中仍然存在错误。 “即将修复”错误仍然存​​在于 Max OSX 10.11 (El Capitan) 上的 JDK 1.8.0_92 中。 我的意思是,来吧。 【参考方案2】:

    从这里安装 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
    

    运行您的应用并享受乐趣 :)

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

【讨论】:

也适用于 1.8.0_92:# in ~/.zshrc 或 ~/.bashrc export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home export PATH=$ JAVA_HOME/bin:$PATH 不要这样做。 Java 7u21(除了 2013 年发布,因此错过了四年大大小小的补丁)有一个任意代码执行漏洞:gist.github.com/frohoff/24af7913611f8406eaf3

以上是关于两者都实现了 JavaLaunchHelper 类。将使用两者之一。哪一个是未定义的[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JavaLaunchHelper 类在两个地方实现

类 AMSupportURLConnectionDelegate 在两者中都实现

两者都实现了类,将使用两者之一。哪个是未定义的

objc[8715]: Class JavaLaunchHelper is implemented in both....

Class JavaLaunchHelper is implemented in two places

jdk 1.8.0_131 Class JavaLaunchHelper is implemented