今天我在 macOS Sierra 上升级了 Intellij Idea,现在,当我在控制台中运行应用程序时出现以下错误:
objc[3648]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x10d19c4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10ea194e0). One of the two will be used. Which one is undefined.
您可以在此处找到所有详细信息:
- IDEA-170117 “objc: Class JavaLaunchHelper is implemented in both ...” 运行控制台中的警告
是 old bug in Java在 Mac 上 got triggered by the Java Agent启动应用程序时由 IDE 使用。此消息是无害的,可以安全地忽略。 Oracle 开发者评论:
The message is benign, there is no negative impact from this problem since both copies of that class are identical (compiled from the exact same source). It is purely a cosmetic issue.
problem is fixed在 Java 9在 Java 8 update 152 .
如果它以任何方式惹恼您或影响您的应用程序(不应该),IntelliJ IDEA 的解决方法是通过添加 idea.no.launcher= 禁用 idea_rt
启动器代理true
到 idea.properties
(Help
| Edit Custom Properties...
)。解决方法将在下次重新启动 IDE 时生效。
不过,我不建议禁用 IntelliJ IDEA 启动器代理。它用于诸如正常关闭(退出按钮)、线程转储、解决命令行太长超出操作系统限制等问题等功能。仅仅为了隐藏无害的消息而失去这些功能可能不值得,但它是由你决定。
我是一名优秀的程序员,十分优秀!