我正在运行 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
什么鬼?
原文由 Laird Nelson 发布,翻译遵循 CC BY-SA 4.0 许可协议
看起来像是链接的混合; /usr/bin/jvisualvm 符号链接指向不存在的东西(正如人们在上面指出的那样)。显然 jvisualvm 可执行文件(存根)存在,现在解决这个问题的方法是执行:
这需要 sudo 权限并创建缺少的符号链接,指向 VisualVM 包。不知道为什么会这样,但升级到最新的 XCode 4.5.2 并没有自动为我修复这个问题。我正在运行 MacOS X 10.7.5 和 java 1.6.0_37