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

Ben*_*pel 17 java visualvm oraclejdk

我从webupd8team/javaPPA 安装了Oracle JDK ,然后安装了该visualvm软件包.启动时visualvm,我收到以下错误消息:

[beni:~]$ visualvm
No jdkhome found
Run Code Online (Sandbox Code Playgroud)

$JAVA_HOME的设置正确/usr/lib/jvm/java-7-oracle.

此外,当从属性集开始visualvmjdkhome,我得到相同的错误:

[beni:~]$ visualvm --jdkhome $JAVA_HOME
No jdkhome found
Run Code Online (Sandbox Code Playgroud)

Ben*_*pel 36

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
Run Code Online (Sandbox Code Playgroud)

所以创建/usr/lib/jvm/default-java一个符号链接$JAVA_HOME,并visualvm找到合适的JDK.

cd /usr/lib/jvm
sudo ln -Tsf java-7-oracle default-java
Run Code Online (Sandbox Code Playgroud)

  • 事实上,昨天我遇到了一个确切的问题:在一台机器上,`default-java`是openjdk-7的符号链接,而`visualvm`因为这个而拒绝启动.我无法找到管理该链接的正确的Debian特定脚本(我假设*是*这样的脚本) - 所以我手动更新了它. (2认同)