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 工具( javajavacjps 等)工作正常。

/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 许可协议

阅读 856
2 个回答

看起来像是链接的混合; /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

原文由 thanosa75 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题