мотивация
У меня есть проприетарное 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 мог решить эту проблему. Поэтому я хочу попробовать.
Неудачный подход
Однако даже после загрузки Java SE 7u7 из Oracle я не могу использовать его для запуска приложения, так как приложение использует некоторый 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.
Основной вопрос
Итак, мой основной вопрос заключается в следующем: возможно ли установить 32-разрядную сборку последней версии OpenJDK 7 на Mac OS X Lion? Желательно, как предварительно скомпилированный пакет, но если он недоступен, то хорошо написанная инструкция, как его скомпилировать, также послужит моей цели.