我在MacOS X上升级到最新的Java 7u40,并在使用Eclipse启动应用程序时开始在控制台上收到以下消息。该应用程序工作得很好,但我想找出问题的原因,并希望能修复它。

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

有人知道为什么打印此消息以及如何修复它吗?


当前回答

⚠️For JetBrains IntelliJ IDEA:去帮助->编辑自定义属性....如果它要求您创建该文件,则创建该文件。要禁用错误消息,请将以下内容粘贴到您创建的文件中:

idea_rt
idea.no.launcher=true

这将在IntelliJ重启时生效。

其他回答

jdk-7u80-macosx-x64。DMG修复了这个问题。

好吧,经过一番挣扎,对我来说有效的方法是完全删除当前的JDK,如下所述:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.JavaUpdateHelper.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist

然后安装1.7.0_21,从这里下载。

现在java -version提示:

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b12)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

如果你正在使用IntelliJ & Mac,只需进入项目结构-> SDK,并确保列出了Java,但它指向类似的东西

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

而不是用户家…

不确定这是否是问题的原因,但我在安装JVM Monitor后才遇到这个问题。

卸载JVM Monitor为我解决了这个问题。

⚠️For JetBrains IntelliJ IDEA:去帮助->编辑自定义属性....如果它要求您创建该文件,则创建该文件。要禁用错误消息,请将以下内容粘贴到您创建的文件中:

idea_rt
idea.no.launcher=true

这将在IntelliJ重启时生效。