我从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
答案 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 >