当前位置: 首页 > 知识库问答 >
问题:

类JavaLaunchHelper在两个地方实现

公孙和怡
2023-03-14

今天我在macOS Sierra上升级了我的Intellij Idea,现在,当我在控制台运行应用程序时,我出现了这个错误:

OBJC[3648]:类JavaLaunchHelper在/library/java/javaVirtualMachines/jdk1.8.0_121.jdk/contents/home/bin/java(0x10D19C4C0)和/library/java/javaVirtualMachines/jdk1.8.0_121.jdk/contents/home/jre/lib/libInstrument.dylib(0x10EA194E0)中实现。将使用两个中的一个。哪一个是未定义的。

共有1个答案

史弘致
2023-03-14

你可以在这里找到所有的细节:

  • IDEA-170117“objc:Class JavaLaunchHelper在运行控制台中实现...”warning in Run consoles

这是Mac上Java中的一个老错误,它是由IDE在启动应用程序时使用的Java代理触发的。此消息是无害的,忽略它是安全的。Oracle开发人员的评论:

该消息是良性的,由于该类的两个副本都是相同的(从完全相同的源编译),因此该问题没有负面影响。这纯粹是个整容的问题。

Java 9和Java 8 update 152中修复了该问题。

如果它惹恼了您或以任何方式影响了您的应用程序(不应该),IntelliJ IDEA的解决方法是通过将IDEA.no.launcher=true添加到IDEA.properties中来禁用idea_rt启动器代理(帮助编辑自定义属性...)。该解决方法将在IDE下一次重新启动时生效。

不过,我不建议禁用IntelliJ IDEA launcher代理。它用于以下功能:优雅的关机(退出按钮)、线程转储、解决问题的方法(过长的命令行超过操作系统限制)等等。仅仅为了隐藏无害的消息而失去这些功能可能是不值得的,但这取决于您。

 类似资料: