Класс JavaLaunchHelper реализован как в... libinstrument.dylib. Один из двух будет использован. Какой из них undefined
Я обновил Java 7u40 до последней версии на MacOS X и начал получать следующее сообщение на консоли при запуске приложения с использованием Eclipse. Приложение работает нормально, но я хотел бы выяснить причину проблемы и, надеюсь, исправить ее.
objc[10012]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Кто-нибудь знает почему печатается это сообщение и как это исправить?
Ответы
Ответ 1
A Для JetBrains IntelliJ IDEA: перейдите к Help -> Edit Custom Properties...
. Создайте файл, если он попросит вас его создать. Чтобы отключить сообщение об ошибке, вставьте следующее в файл, который вы создали:
idea_rt
idea.no.launcher=true
Это вступит в силу при перезапуске IntelliJ.
Я использую Eclipse IDE для разработчиков на Java. Версия: Photon Release (4.8.0) Идентификатор сборки: 20180619-1200 на Mac (с MacOs 10.14.6). Я добавил строку "idea.no.launcher = true" в /eclipse/configuration/config.ini, и это решило проблему для меня.
Ответ 2
По состоянию на октябрь 2017 года эта проблема теперь решена в
Ответ 3
-
Установите Java 7u21 по адресу: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u21-oth-JPR
-
Установите эти переменные:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
-
Запустите свое приложение и получайте удовольствие :)
Ответ 4
Копирование вставки @Lichtamberg комментарии к gotoalberto ответ
Работает также для Java 1.8:
# in ~/.zshrc and ~/.bashrc
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
Это исправило мою проблему в java 8.
Ответ 5
Не уверен, что это является причиной проблемы, но я получил эту проблему только после установки JVM Monitor.
Удаление JVM Monitor решило эту проблему для меня.
Ответ 6
Как подробно описано в других ответах, это ошибка в JDK (до u45), которая будет исправлена в JDK7u60 - хотя это еще не сделано, вы можете скачать b01 по адресу: https://jdk7.java.net/download. HTML
Это бета, но исправил эту проблему для меня.
Ответ 7
https://groups.google.com/forum/#!topic/google-appengine-stackoverflow/QZGJg2tlfA4
Из того, что я нашел в Интернете, это ошибка, введенная в JDK 1.7.0_45. Я читал, что это будет исправлено в следующем выпуске Java, но это еще не вышло. Предположительно, это было исправлено в 1.7.0_60b01, но я не могу найти, где его скачать, и 1.7.0_60b02 повторно вводит ошибку.
Мне удалось обойти эту проблему, вернувшись к JDK 1.7.0_25. Возможно, не то решение, которое вы хотели, но только так я смог заставить его работать. Не забудьте добавить JDK 1.7.0_25 в Eclipse после установки JDK.
Пожалуйста, НЕ ОТВЕЧАЙТЕ прямо на это письмо, а перейдите к StackOverflow: класс JavaLaunchHelper реализован в обоих. Один из двух будет использован. Какой из них не определен
Ответ 8
Чтобы решить эту проблему, я опустил версию JDK до 1.7.0_21. затем я использовал этот маленький скрипт bash, чтобы изменить версию, которую я использую.
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME='/usr/libexec/java_home -v [email protected]'
export PATH=$JAVA_HOME/bin:$PATH
fi
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
Когда в вашем файле zshrc/bshrc есть скрипт bash, просто вызовите setJdk 1.7.0_21
и все setJdk 1.7.0_21
.
Ответ 9
Что ж, после некоторой борьбы у меня сработало полное удаление текущего JDK, как описано здесь:
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.JavaUpdateHelper.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist
Затем установил 1.7.0_21, который был скачан отсюда.
Теперь java -version
предлагает:
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b12)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Ответ 10
Июль 2019
OSX Mojave 10.14.5 (18F132) IntelliJ 2019-1 Community Edition. Сработала настройка файла idea.properties. Я также настроил JAVA_HOME, указывая на /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/
пользовательские свойства IntelliJ IDEA
idea_rt idea.no.launcher = true
Ответ 11
Если вы используете IntelliJ и Mac, просто перейдите в структуру проекта → SDK и убедитесь, что есть Java, но она указывает на sth like
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Вместо домашнего пользователя...
Ответ 12
jdk-7u80-macosx-x64.dmg исправить эту проблему.