1

在我的 mac os x virtualbox 客户机上启动基于 swing/awt 的 Java 应用程序时,我遇到了 libjvm.dylib 崩溃。我不确定为什么会这样。我能够在来宾上安装jdk,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

4

3 回答 3

3

此错误的原因是存在兼容性问题,导致 Java 7 运行时无法在缺乏硬件加速 OpenGL 支持的 OS X 平台上启动,包括在 Fusion 和 ESXi 上运行的 OS X VMware 虚拟机。这同样适用于 Virtualbox。

在这里,您可以找到解决该问题的二进制补丁。但请注意,提供的补丁只修复了浏览器插件的上述错误!如果您想将 JRE/JDK 用于开发目的或在 Mac OSX 来宾系统中运行 SWT/AWT 应用程序,请使用以下脚本:

VMware-Java7-patch.py

如果您安装了当前 JDK/JRE 7 Update 21 以外的其他版本,请编辑 Python 脚本的倒数第二行以指向您当前的 JDK 版本(将 jdk1.7.0_21.jdk 更改为您当前安装的任何版本/目录你的系统):

patchLibLwAwt("/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib")

最后通过在终端/控制台中键入“sudo python ./VMware-Java7-patch.py​​”来运行脚本。

这应该可以解决问题,Java 应用程序现在应该可以毫无问题地运行,无需重新启动系统。此补丁适用于 VMWare 和 Virtualbox。

此致。

于 2013-05-21T09:04:36.787 回答
1

如果您的错误与 JVM 有关,您尚未安装 JVM,或者 JVM 缺少路径,

JDK和JRE的文件结构link

这将表明如果您没有安装 JVM,那么您没有安装 libjvm.dylib 文件。

我仍然不确定这是主要原因,但这可能是原因之一。

还请检查路径,并阅读此内容old post

这篇文章指出“您可以在 Eclipse 中仅注册一个 JRE,因为它足以运行您的程序,但 JVM 将允许更多操作。”

因此,如果 swing/awt 是高级的并且依赖于 jvm,就像在 eclipse 的旧帖子中一样。

我不是高级 Java 用户,所以不精通 AWT/SWING.. :)

但我还想补充一件事,它有内存过量使用选项,你必须禁用它,因为这会导致问题,对于崩溃,link1请阅读此博客了解详细信息。我在这里找到了这个细节link2

我希望这会做:)

于 2013-05-21T07:00:16.133 回答
0

我正在运行相同的配置,我的虚拟机非常慢。我有一个采用 VT-x 技术(英特尔虚拟化技术)的英特尔 i7 处理器。AMD 有一个类似的功能称为 AMD-v。如果可用,请务必在 BIOS 中激活该功能 - 它可以显着提升性能。

于 2013-05-22T18:11:57.577 回答