在使用Oracle JDK的Ubuntu 15.10上,visualvm失败并显示“No jdkhome found”

时间:2016-01-02 13:00:28

标签: java visualvm oraclejdk

我从webupd8team/java PPA安装了Oracle JDK,然后安装了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 个答案:

答案 0 :(得分:34)

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

答案 1 :(得分:1)

在我的情况下,即使是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.但我需要在/ usr / bin / visualvm visualvm_jdkhome=/tmp >