安装32位Java 7 OpenJDK


4

动机

我有一个专有的Java应用程序,该应用程序曾经在Snow Leopard下工作,但在Lion下却失败,并带有以下回溯:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Invalid display mode
    at apple.awt.CGraphicsDevice.setDisplayMode(CGraphicsDevice.java:472)
    at apple.awt.CGraphicsDevice.setFullScreenWindowSynchronized(CGraphicsDevice.java:363)
    at apple.awt.CGraphicsDevice.access$000(CGraphicsDevice.java:25)
    at apple.awt.CGraphicsDevice$1SetFullScreenAction.run(CGraphicsDevice.java:326)
    at apple.awt.CGraphicsDevice.setFullScreenWindow(CGraphicsDevice.java:331)

对的调用setFullScreenWindow仅通过null,即它尝试从全屏模式恢复到窗口模式。仅当连接了投影仪并因此将屏幕分辨率调整为1024x768时,才会发生该错误。在我看来,这似乎是Java VM中的错误。

查看代码,在我看来OpenJDK 7可能已经解决了这个问题。所以我想尝试一下。

失败的方法

但是,即使从Oracle下载Java SE 7u7之后,我也无法使用它来执行应用程序,因为该应用程序使用了一些32位本机代码,而该JVM不支持该本机代码:

> /Library/Java/JavaVirtualMachines/jdk1.7.0_07.j/Contents/Home/bin/java -d32 -version
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.

核心问题

所以我的核心问题是:是否可以在Mac OS X Lion上安装OpenJDK 7的最新版本的32位版本?最好将其作为预编译的软件包,但如果无法使用它,那么编写一篇很好的说明,说明如何进行编译自己也将达到我的目的。


我也有同样的问题。这里有一个更好的答案。
djangofan '16

Answers:


2

看来我找到了预编译的OpenJDK的来源:
http : //code.google.com/p/openjdk-osx-build/
那里的OpenJDK 7构建是通用的,并且确实以32位模式运行。最新版本是7u6,它不是Oracle提供的7u7的最新版本,但对于我的要求应该足够新。

las,我原来的问题仍然存在,所以我毕竟可能必须自己编译JVM。我发现OpenJDK mercurial存储中有一个jdk7u-osx存储,其README-builds文件提供了有关如何构建内容的合理说明。关于源滴的部分显得尤为重要。我仍然有一些麻烦,但是这些麻烦似乎是构建过程中的错误或类似的错误,因此我将在macosx-port-dev邮件列表中进行介绍

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.