我在mac os x virtualbox guest上启动基于swing / awt的java应用程序时遇到libjvm.dylib崩溃。我不确定为什么会这样。我能够在来宾java -version
java version "1.7.0_15"
Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
这是我尝试打开Java控制面板时的日志。 http://pastebin.com/vHFWKeEk
host specs:
AMD Athlon(tm) 7750
3072MB RAM
ATI Radeon HD 5550
答案 0 :(得分:3)
出现此错误的原因是存在兼容性问题,导致Java 7运行时无法在缺乏硬件加速OpenGL支持的OS X平台上启动,包括在Fusion和ESXi上运行的OS X VMware虚拟机。这同样适用于Virtualbox。
Here you find a binary patch that solves the issue.但是注意,提供的补丁只修复了浏览器插件提到的错误!如果要将JRE / JDK用于开发目的或在Mac OSX来宾系统中运行SWT / AWT应用程序,请使用以下脚本:
如果您安装的是另一个版本而不是当前的JDK / JRE 7 Update 21,请编辑Python脚本的倒数第二行以指向您当前的JDK版本(将jdk1.7.0_21.jdk更改为您拥有的任何版本/目录当前安装在您的系统上):
patchLibLwAwt( “/库/爪哇/ JavaVirtualMachines / jdk1.7.0_21.jdk /内容/主页/ JRE / LIB / lwawt / liblwawt.dylib”)
最后通过在终端/控制台输入“sudo python ./VMware-Java7-patch.py”来运行脚本。
这应该可以解决问题,Java应用程序现在可以正常运行而无需重新启动系统。此修补程序适用于VMWare和Virtualbox。
最好的问候。
答案 1 :(得分:1)
如果您的错误与JVM有关,那么您没有安装JVM,或者JVM缺少路径,
JDK和JRE的文件结构link
这将说明如果您没有安装JVM,则表示您没有安装libjvm.dylib文件。
我仍然不确定这是主要原因,但这可能是其中一个原因..
请检查路径,并阅读此old post
这篇文章指出'你可以在Eclipse中注册一个JRE,因为它足以运行你的程序,但JVM也可以允许更多的操作。'
所以如果swing / awt是高级的并且依赖于jvm,就像日食中的旧文章一样。
我不是高级Java用户,所以不是AWT / SWING中的高手......:)
但是我想补充一点,它有内存过量使用的选项,你必须禁用它,因为这会导致问题,因为崩溃link1
阅读此博客了解详情。我在link2
我希望这样做:)
答案 2 :(得分:0)
我正在运行相同的配置,我的VM非常慢。我有一个采用VT-x技术(英特尔虚拟化技术)的英特尔i7处理器。 AMD有一个类似AMD-v的类似功能。请确保在BIOS中激活该功能(如果可用) - 它可以显着提升性能。