Mac上Class JavaLaunchHelper is implemented in both報錯

轉自:http://blog.csdn.net/lizhaowei213/article/details/68951671


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.

昨晚在Mac上裝了Intellij Idea,隨手用IJ帶的Java工程模板創建了一個測試工程,控制檯報了這樣一個Error。

意思是這個JavaLaunchHelper類被實現了兩次。無奈之下搜索了萬能的Stack Overflow,找到了解決方案。

http://stackoverflow.com/questions/43003012/objc3648-class-javalaunchhelper-is-implemented-in-both

引用高票回答如下

You can find all the details here:

  • IDEA-170117 “objc: Class JavaLaunchHelper is implemented in both …” warning in Run consoles

It’s the old bug in Java on Mac that got triggered by the Java Agent being used by the IDE when starting the app. This message is harmless and is safe to ignore. Oracle developer’s comment:

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.

The problem is fixed in Java 9 and in Java 8 update 152.

If it annoys you or affects your apps in any way, the workaround for IntelliJ IDEA is to disable idea_rt launcher agent by adding idea.no.launcher=true into idea.properties (Help | Edit Custom Properties...).

這位外國碼友清楚地解釋了這個Error的原因,大概意思是說這是Mac上面Java的一個老Bug了,會在那些使用了Java Agent的IDE上運行應用時觸發,但這個Error對程序是無影響的,可以無視。在Java 9和Java 1.8.152版本里已經修復了。

解決方案:

點擊IJ最上面菜單的Help-Edit Custom Properties,沒有這個properties文件的話,IJ會提示創建,然後在裏面加上

idea.no.launcher=true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章