类JavaLaunchHelper在两个地方实现

Ess*_*Ess 277 java macos intellij-idea

今天我在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).将使用两者之一.哪一个未定义.

Cra*_*der 464

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

  • IDEA-170117 "objc:类JavaLaunchHelper在两个...中实现"运行控制台中的警告

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

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

问题Java 9Java 8更新152中得到修复.

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

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

  • 我安装了Java 8更新152,它解决了问题,如答案中所示.谢谢. (15认同)
  • 它提供了优雅的退出,线程转储,处理可能超出操作系统限制的长类路径等.我不会禁用它,特别是因为隐藏无害消息的原因. (8认同)
  • idea_rt有什么作用?有什么理由不禁用它? (6认同)
  • 什么时候会通过oracle java se推送152? (3认同)
  • 编辑自定义属性对2016.3没有帮助 (2认同)

old*_*lee 171

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

  1. 【首选项】 - 【编辑】 - 【常规】 - 【控制台】 - 【包含控制台的折叠线】
    当然,您可以使用【查找操作...】(cmd+shift+A在Mac上)并键入Fold console lines that contain以便更有效地导航.
  2. Class JavaLaunchHelper is implemented in both

图片

事实证明,在我的电脑上:( LGTM:b)

图片

你可以展开消息再次检查它:

图片

PS:

截至2017年10月,此问题现已在jdk1.9/jdk1.8.152/jdk1.7.161中解决,
有关详细信息,请参阅@ muttonUp的答案)


lna*_*han 13

我正在使用Intellij Idea 2017,我遇到了同样的问题.为我解决问题的原因很简单

  1. 在intelliJ中关闭项目
  2. 文件 - >新建 - >来自现有资源的项目
  3. 使用从外部模型导入(如果有)
  4. 再次打开项目.

  • 经典的'close then open`解决方案=)) (5认同)