jvisualvm去哪里了?
问题内容:
我正在运行Mac OSX Snow Leopard。
我一直使用Mac OSX的常规软件更新功能来更新Java。
我过去使用Java jvisualvm
工具取得了巨大的成功。
今天早上,我像往常一样键入jvisualvm
命令行。我收到以下错误:
$ jvisualvm
Unable to locate an executable at "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/jvisualvm" (-1)
所有的其他Java工具(java
,javac
,jps
等)的工作就好了。
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin
确实不包含jvisualvm
(突然)。
/usr/libexec/java_home
产量:
$ /usr/libexec/java_home
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
WTF?
问题答案:
似乎是链接的混合;/ usr / bin /
jvisualvm符号链接指向不存在的内容(如上文所述)。显然,jvisualvm可执行文件(存根)存在,并且现在解决此问题的方法是执行:
cd /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin
sudo ln -s /System/Library/Java/Support/VisualVM.bundle/Contents/Home/bin/jvisualvm .
这需要sudo特权并创建缺少的符号链接,指向VisualVM软件包。不知道为什么会发生,但是升级到最新的XCode
4.5.2并不能自动为我解决。我正在运行MacOS X 10.7.5和Java 1.6.0_37