我正在运行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
似乎支持包在更新时被删除了。 https://discussions.apple.com/thread/4474992?start=0&tstart=0
下载捆绑包以用作变通方法。 http://visualvm.java.net/download.html
编辑:
使用此下载链接:https://java.net/projects/visualvm/downloads/download/release132/VisualVM_132.d mg
我下载了visualvm(qazxsw poi),这对我的Mountain Lion有用。
如果您已在使用NetBeans,则另一种解决方法是使用其分析器。在7.3版中:
Profile > Attach Profiler
。Attach to: <external Application>
按钮。对于JDK 9用户
从JDK 9开始,Visual VM将不包含在Oracle JDK中。想要将Visual VM与Oracle JDK 9或更高版本一起使用的开发人员可以从Visual VM开源项目站点获取它。
我只能在我的山狮MVP上运行VisualVM的.app版本
Attach
有时它很简单......你需要安装visualvm via
open /usr/share/java/Tools/Java\ VisualVM.app
要查找文件,请使用
sudo apt-get install visualvm