web-dev-qa-db-fra.com

visualvm échoue avec "Aucun jdkhome trouvé" sur Ubuntu 15.10 avec Oracle JDK

J'ai installé Oracle JDK à partir du PPA webupd8team/Java, puis le package visualvm. Au démarrage de visualvm, j'obtiens le message d'erreur suivant:

[beni:~]$ visualvm
No jdkhome found

Mon $Java_HOME est défini correctement sur /usr/lib/jvm/Java-7-Oracle.

De plus, lorsque je lance visualvm avec la propriété jdkhome, la même erreur se produit:

[beni:~]$ visualvm --jdkhome $Java_HOME
No jdkhome found
15
Benedikt Köppel

visualvm vérifie les trois répertoires suivants pour un JDK:

  • /usr/lib/jvm/Java-7-openjdk-$Arch
  • /usr/lib/jvm/Java-8-openjdk-$Arch et
  • /usr/lib/jvm/default-Java

A partir du script de démarrage /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

Donc, faites de /usr/lib/jvm/default-Java un lien symbolique vers $Java_HOME, et visualvm trouvera le bon JDK.

cd /usr/lib/jvm
Sudo ln -Tsf Java-7-Oracle default-Java
34
Benedikt Köppel

Dans mon cas, même le lien symbolique de default-Java n'a pas résolu le problème. Pour réparer, j'ai fait:

Edité jvisualvm et ajouter une "corbeille" dans la variable jdkhome

  • $ Sudo vi /usr/bin/jvisualvm

jdkhome =/tmp

Ensuite, le paramètre de transmission du programme a été lancé:

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

Remarque: aujourd'hui (2016), ma version ne fonctionne qu'avec Java7

Update : maintenant, en 2017, avec la version 1.3.8, cela fonctionne avec Java 8. Mais je devais ajouter visualvm_jdkhome=/tmp, dans/usr/bin/visualvm

1
Topera