如何解决Java警告信息:"objc[31336]: Class JavaLaunchHelper is implemented in both places ..."

时间:2023-03-08 16:47:30
如何解决Java警告信息:"objc[31336]: Class JavaLaunchHelper is implemented in both places ..."

在macOS High Sierra Version 10.13.6下使用Intellij在Java 8上执行Java程序,console中会打印如下警告信息:

objc[31336]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/java (0x106caa4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x106d2e4e0). One of the two will be used. Which one is undefined.

经过google,发现这是Java的一个bug导致的,此bug在IDE启动Java程序时由Java Agent触发,但是由于对程序没有其他的影响,所以基本上可以被忽略。如果实在看着这个消息碍眼,可以升级到Java 9或者Java 8 update 152,在这两个版本里,此bug已经被解决了。