Класс JavaLaunchHelper реализован в двух местах
Сегодня я обновил свою Intellij Idea на macOS Sierra, и теперь, когда я запускаю приложения в консоли, у меня есть эта ошибка:
objc [3648]: класс JavaLaunchHelper реализован как в /Library/Java/JavaVirtualMachines/jdk 1.8.0_121.jdk/Contents/Home/bin/java (0x10d19c4c0), так и в/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Содержание/Главная/jre/lib/libinstrument.dylib(0x10ea194e0). Один из двух будет использован. Какой из них undefined.
Ответы
Ответ 1
Здесь вы можете найти все детали:
- IDEA-170117 "objc: класс JavaLaunchHelper реализован в обоих..." предупреждение в пультах запуска
Это старая ошибка в Java на Mac, которая вызвана Java Agent, который используется IDE при запуске приложения. Это сообщение безвредно и безопасно игнорировать. Комментарий разработчика Oracle:
Сообщение доброе, нет отрицательного влияния этой проблемы так как обе копии этого класса идентичны (скомпилированы из тот же источник). Это чисто косметическая проблема.
Проблема устранена в Java 9 и в Java 8 update 152.
Если это вас раздражает или влияет на ваши приложения каким-либо образом (это не должно быть), обходной путь для IntelliJ IDEA заключается в отключении агента idea_rt
launcher, добавив idea.no.launcher=true
в idea.properties
(Help
| Edit Custom Properties...
). Обходной путь вступит в силу при следующем перезапуске среды IDE.
Я не рекомендую отключать агент запуска IntelliJ IDEA. Он используется для таких функций, как изящное выключение (кнопка выхода), потоки дампов, обходные пути - проблема с слишком длинной командной строкой, превышающей пределы ОС и т.д. Потеря этих функций только для скрытия безобидного сообщения, вероятно, не стоит того, до вас.
Ответ 2
Поскольку "это сообщение безвредно" (см. ответ @CrazyCoder), простым и безопасным обходным путем является то, что вы можете сбросить это сообщение жужжания на консоли IntelliJ IDEA параметры:
- 【Настройки】 - 【Редактор】 - 【Общие】 - 【Консоль】 - 【Сложить консольные строки, содержащие】
Конечно, вы можете использовать 【Найти действие...】 (cmd+shift+A
на mac) и набрать Fold console lines that contain
, чтобы более эффективно перемещаться.
- добавить
Class JavaLaunchHelper is implemented in both
![image]()
На моем компьютере, оказывается: (LGTM: b)
![image]()
И вы можете развернуть сообщение, чтобы снова проверить его:
![image]()
PS:
По состоянию на октябрь 2017 года эта проблема теперь разрешена в jdk1.9/jdk1.8.152/jdk1.7.161
для получения дополнительной информации см. ответ @muttonUp)
Ответ 3
Я использую Intellij Idea 2017, и я попал в ту же проблему. То, что решило проблему для меня, было просто
- закрыть проект в intelliJ
- Файл → Создать → проект из существующих ресурсов
- использовать импорт из внешней модели (если есть)
- снова откройте проект.
Ответ 4
Это случилось со мной, когда я установил Intellij IDEA 2017, перейдите в меню Preferences → Build, Execution, Deployment → Debugger и отключите эту опцию: "Force Classic VM для JDK 1.3.x и ранее". Это работает для меня.
Ответ 5
Такая же ошибка, я обновляю свой Junit
и разрешаю его
org.junit.jupiter:junit-jupiter-api:5.0.0-M6
к
org.junit.jupiter:junit-jupiter-api:5.0.0