类JavaLaunchHelper在两个地方实现

时间:2017-03-24 15:10:22

标签: 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)。将使用两者之一。哪一个未定义。

7 个答案:

答案 0 :(得分:432)

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

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

Mac上的old bug in Java启动应用时,IDE使用了got triggered by the Java Agent。此消息是无害的,可以安全地忽略。 Oracle开发人员的评论:

  

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

problem is fixedJava 9中的Java 8 update 152

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

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

答案 1 :(得分:140)

由于“此邮件无害”(请参阅​​the @CrazyCoder's answer),简单安全解决方法是您可以通过IntelliJ在控制台中折叠此嗡嗡声消息IDEA设置:

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

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

    image

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

    image

    <强> PS:

      

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

答案 2 :(得分:10)

我正在使用Intellij Idea 2017,我遇到了同样的问题。为我解决问题的唯一方法是

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

答案 3 :(得分:1)

当我安装Intellij IDEA 2017时发生这种情况,转到菜单首选项 - &gt;构建,执行,部署 - &gt;调试器并禁用选项:&#34;强制经典VM用于JDK 1.3.x及更早版本&#34;。这对我有用。

答案 4 :(得分:0)

同样的错误,我升级了我的Junit并解决了它

org.junit.jupiter:junit-jupiter-api:5.0.0-M6

org.junit.jupiter:junit-jupiter-api:5.0.0

答案 5 :(得分:0)

我找到了另一种解决方法:从项目路径中排除libinstrument.dylib。为此,请转到偏好设置 - &gt; 构建,执行和部署 - &gt; 编译器 - &gt; 排除 - &gt; + ,此处按错误消息中的路径添加文件。

答案 6 :(得分:0)

这对我来说是一个问题多年前,我之前通过从我的项目中排除1.7来修复它,但是我最近安装的IntelliJ又成了一个问题。我修理了它:

  1. 卸载JDK:

    cd /Library/Java/JavaVirtualMachines
    sudo rm -rf jdk1.8.0_45.jdk
    

    (我安装了jdk1.8.0_45.jdk;显然你应该卸载该文件夹中列出的任何java版本。有问题的文件位于该文件夹中,应该删除。)

  2. Downloading and installing JDK 9
  3. 请注意,下次创建新项目或打开现有项目时,需要将项目SDK设置为指向新的JDK安装。如果您在JavaVirtualMachines文件夹中安装了JDK 1.7(我认为这件事发生在我身上),您可能仍会看到此错误或让它崩溃。