动机
我有一个专有的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