简体   繁体   English

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

[英]visualvm fails with “No jdkhome found” on Ubuntu 15.10 with Oracle JDK

I installed Oracle JDK from the webupd8team/java PPA, and then installed the visualvm package. 我从webupd8team/java PPA安装了Oracle JDK,然后安装了visualvm软件包。 When starting visualvm , I get the following error message: 启动visualvm ,我收到以下错误消息:

[beni:~]$ visualvm
No jdkhome found

My $JAVA_HOME is set correctly to /usr/lib/jvm/java-7-oracle . 我的$JAVA_HOME正确设置为/usr/lib/jvm/java-7-oracle

Also, when starting visualvm with the jdkhome property set, I get the same error: 此外,启动时visualvmjdkhome属性集,我得到了同样的错误:

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

visualvm checks the following three directories for a JDK: visualvm检查JDK的以下三个目录:

  • /usr/lib/jvm/java-7-openjdk-$ARCH
  • /usr/lib/jvm/java-8-openjdk-$ARCH and /usr/lib/jvm/java-8-openjdk-$ARCH
  • /usr/lib/jvm/default-java

From the /usr/bin/visualvm start script: /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

So make /usr/lib/jvm/default-java a symlink to $JAVA_HOME , and visualvm will find the right JDK. 因此,使/usr/lib/jvm/default-java成为$JAVA_HOME的符号链接, visualvm将找到正确的JDK。

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

In my case even the symlink of default-java didn't fixed the problem. 在我的情况下,甚至default-java的符号链接也没有修复问题。 To fix, I did: 要解决,我做了:

Edited jvisualvm and add any "trash" into jdkhome variable 编辑jvisualvm并将任何“垃圾”添加到jdkhome变量中

  • $ sudo vi /usr/bin/jvisualvm

jdkhome=/tmp JDKHOME = / TMP

Then started the program passing parameter: 然后启动程序传递参数:

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

Note: today (2016), with my version is working only with java7 注意:今天(2016年),我的版本仅适用于java7

Update :now, in 2017, using version 1.3.8, it's working with Java 8. But I needed to add visualvm_jdkhome=/tmp , in /usr/bin/visualvm 更新 :现在,在2017年,使用版本1.3.8,它正在使用Java 8.但我需要在/ usr / bin / visualvm中添加visualvm_jdkhome=/tmp

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM