JavaLaunchHelper 类在两个地方实现

新手上路,请多包涵

今天我在 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/ 中实现内容/Home/jre/lib/libinstrument.dylib (0x10ea194e0)。将使用两者之一。哪一个是未定义的。

原文由 Ess 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 951
2 个回答

您可以在此处找到所有详细信息:

  • IDEA-170117 “objc: Class JavaLaunchHelper is implemented in both …” 运行控制台中的警告

这是 Mac 上 Java 中的旧错误, 由 IDE 在启动应用程序时使用 的 Java 代理触发。此消息是无害的,可以安全地忽略。 Oracle 开发者评论:

该消息是良性的,这个问题没有负面影响,因为该类的两个副本是相同的(从完全相同的源编译)。这纯粹是一个外观问题。

问题已Java 9Java 8 update 152 中得到修复。

如果它以任何方式惹恼您或影响您的应用程序(不应该),IntelliJ IDEA 的解决方法是禁用 idea_rt 启动器代理,方法是将 idea.no.launcher=true 添加到 idea.properties ( Help | Edit Custom Properties... )。解决方法将在下次重新启动 IDE 时生效。

不过,我不建议禁用 IntelliJ IDEA 启动器代理。它用于诸如正常关闭(退出按钮)、线程转储、解决命令行太长超出操作系统限制等问题等功能。仅仅为了隐藏无害的消息而失去这些功能可能不值得,但它是由你决定。

原文由 CrazyCoder 发布,翻译遵循 CC BY-SA 3.0 许可协议

由于“此消息是无害的”(请参阅 @CrazyCoder 的回答),一个 简单安全 的解决方法是您可以通过 IntelliJ IDEA 设置在控制台中折叠此嗡嗡声消息:

  1. 【首选项】-【编辑器】-【常规】-【控制台】-【折叠包含的控制台行】

当然,你可以使用【Find Action…】( cmd+shift+A on mac)然后输入 Fold console lines that contain 来更有效地导航。 2. 添加 Class JavaLaunchHelper is implemented in both

图片

在我的电脑上,结果是:(LGTM :b)

图片

您可以展开消息以再次查看:

图片

附言:

截至 2017 年 10 月,此问题现已在 jdk1.9/jdk1.8.152/jdk1.7.161 中得到解决

有关详细信息,请参阅 @muttonUp 的回答

原文由 oldratlee 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题