visualvm 在 Ubuntu 15.10 上与 Oracle JDK 上失败,并带有“No jdkhome found”

2022-09-02 20:08:04

我从PPA安装了Oracle JDK,然后安装了软件包。启动时,我收到以下错误消息:webupd8team/javavisualvmvisualvm

[beni:~]$ visualvm
No jdkhome found

我的已正确设置为 。$JAVA_HOME/usr/lib/jvm/java-7-oracle

另外,从属性集开始时,我得到同样的错误:visualvmjdkhome

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

答案 1

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

因此,创建一个符号链接到 ,并找到正确的JDK。/usr/lib/jvm/default-java$JAVA_HOMEvisualvm

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

答案 2

在我的情况下,即使是默认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


推荐