Visualvm завершается с ошибкой "Не найден jdkhome" в Ubuntu 15.10 с Oracle JDK

Я установил Oracle JDK с webupd8team/java PPA, а затем установил visualvm пакет. При запуске visualvmЯ получаю следующее сообщение об ошибке:

[beni:~]$ visualvm
No jdkhome found

мой $JAVA_HOME правильно установлено /usr/lib/jvm/java-7-oracle,

Также при запуске visualvm с jdkhome набор свойств, я получаю ту же ошибку:

[beni:~]$ visualvm --jdkhome $JAVA_HOME
No jdkhome found

2 ответа

Решение

visualvm проверяет следующие три каталога на наличие JDK:

  • /usr/lib/jvm/java-7-openjdk-$ARCH
  • /usr/lib/jvm/java-8-openjdk-$ARCH а также
  • /usr/lib/jvm/default-java

От /usr/bin/visualvm стартовый скрипт:

visualvm_jdkhome=
for j in /usr/lib/jvm/java-7-openjdk-$ARCH /usr/lib/jvm/java-8-openjdk-$ARCH /usr/lib/jvm/default-java; do
    if [ -x $j/bin/javac ]; then
       visualvm_jdkhome=$j
       break
    fi
done

Так сделай /usr/lib/jvm/default-java символическая ссылка на $JAVA_HOME, а также visualvm найдете правильный JDK.

cd /usr/lib/jvm
sudo ln -Tsf java-7-oracle default-java

В моем случае даже символическая ссылка default-java не устранила проблему. Чтобы исправить, я сделал:

Отредактируйте jvisualvm и добавьте любой "мусор" в jdkhome переменная

  • $ sudo vi /usr/bin/jvisualvm

jdkhome=/ TMP

Затем запустили программу, передав параметр:

  • /usr/bin/jvisualvm --jdkhome /usr/lib/jvm/myJava7

Примечание: сегодня (2016) с моей версией работает только java7

Обновление: теперь, в 2017 году, с использованием версии 1.3.8, она работает с Java 8. Но мне нужно было добавить visualvm_jdkhome=/tmpв /usr/bin/visualvm

Другие вопросы по тегам