The correct fix depends on a full understanding of how jvisualvm actually works.
The --jdkhome option appears to control only the JVM that VisualVM runs in, not the JVM which it monitors for Java instances. I can run the Sun VisualVM with the Sun JVM as jdkhome, and still see/monitor Java programs launched using OpenJDK. Equally, I can run the Sun VisualVM with the OpenJDK JVM as jdkhome, and monitor Java programs launched using Sun or OpenJDK JVMs. Is the fact I can monitor both because: a) OpenJDK, as a 'fork' of the Sun JDK, retains run-time compatibility in some way? b) The VisualVM uses standardised JRE/JDK APIs which all JDKs should support (so I could also view stuff launched using, say, IBM's JVM)? I assume (b), which would mean that my suggested fix is 'correct', because there is no reason to ever want to run one JDK-supplier's VisualVM using another supplier's JVM. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/657048 Title: visualvm fails to launch because it can't find jdk: "Cannot find java. Please use the --jdkhome switch" -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs