Motivación
Tengo una aplicación java propietaria que solía funcionar bajo Snow Leopard pero que falla bajo Lion con el siguiente backtrace:
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)
La llamada a setFullScreenWindow
sólo pasa null
es decir, intenta restaurar de pantalla completa a modo de ventana. El error sólo se produce cuando se conecta un proyector y, por tanto, la resolución de la pantalla se ajusta a 1024x768. A mí me parece que se trata de un error en la VM de Java.
Mirando el código me parece que OpenJDK 7 podría haber solucionado este problema. Así que quiero probarlo.
Enfoque fallido
Sin embargo, incluso después de descargar Java SE 7u7 de Oracle No puedo utilizarla para ejecutar la aplicación, ya que la aplicación utiliza código nativo de 32 bits, que esta JVM no soporta:
> /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.
Pregunta central
Así que mi pregunta principal es la siguiente: ¿es posible instalar un 32 bits construcción de una versión reciente de OpenJDK 7 en Mac OS X Lion? Preferiblemente como un paquete precompilado, pero si eso no está disponible, entonces una instrucción bien escrita de cómo compilarlo yo mismo serviría también para mi propósito.