MemoryAnalyzer(MAT)在macos上面无法启动的解决方案
·
MemoryAnalyzer(MAT)在macos上面无法启动的解决方案
原因
核心原因是JAVA环境没有配置好。正常情况只要把jdk配置到环境变量里面,java就是正常配置好了。但是macos有点特殊,它有一个java_home的程序,用于检查java环境。
执行java_home查看环境变量。
❯ /usr/libexec/java_home -V
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
如果出现这个错误,就说明jdk没有配置好,并不一定是jdk不能用,而是mat会使用java_home程序去检查环境,mac上所有和java相关的程序,貌似就这个mat会这样检查。
解决办法
进入 /Library/Java/JavaVirtualMachines 目录,把jdk包放到这个目录下。

此时执行java_home,会发现已经正常输出java版本了。
❯ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
17.0.12 (arm64) "Oracle Corporation" - "Java SE 17.0.12" /Library/Java/JavaVirtualMachines/jdk-17.0.12.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-17.0.12.jdk/Contents/Home
之后,MAT就可以正常打开了。
另外一个解决方案(对我来说没有用仅供参考)
进入MAT的应用目录, 打开,/Applications/MemoryAnalyzer.app/Contents/info.plist
配置:
<array>
<string>-vm</string>
<string>/Library/Java/JavaVirtualMachines/jdk-17.0.12.jdk/Contents/Home/bin</string>
<string>-keyring</string>
<string>~/.eclipse_keyring</string>
</array>
更多推荐



所有评论(0)