4 votes

Installer Java 7 32bit OpenJDK

Motivation

J'ai une application java propriétaire qui fonctionnait sous Snow Leopard mais qui échoue sous Lion avec le backtrace suivant :

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)

L'appel à setFullScreenWindow seulement des passes null Il s'agit d'une tentative de restauration du mode plein écran au mode fenêtré. L'erreur ne se produit que lorsqu'un vidéoprojecteur est connecté et que la résolution de l'écran est donc ajustée à 1024x768. Il me semble qu'il s'agit d'un bogue dans la VM Java.

Regarder le code Il me semble qu'OpenJDK 7 a peut-être résolu ce problème. Je veux donc l'essayer.

Échec de l'approche

Cependant, même après avoir téléchargé Java SE 7u7 d'Oracle Je ne peux pas l'utiliser pour exécuter l'application, car celle-ci utilise du code natif 32 bits, que cette JVM ne prend pas en charge :

> /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.

Question centrale

Ma question principale est donc la suivante : est-il possible d'installer une 32 bits construction d'une version récente d'OpenJDK 7 sur Mac OS X Lion ? De préférence sous la forme d'un paquet précompilé, mais si cela n'est pas disponible, une instruction bien écrite sur la façon de le compiler moi-même serait également utile.

2voto

MvG Points 414

Il semble que j'ai trouvé une source d'OpenJDK précompilé :
http://code.google.com/p/openjdk-osx-build/
Les versions d'OpenJDK 7 sont universelles et fonctionnent en effet en mode 32 bits. La dernière version est 7u6, ce qui n'est pas aussi récent que la 7u7 disponible chez Oracle, mais devrait être suffisamment récent pour mes besoins.

Hélas, mon problème initial persiste, et il se pourrait que je doive compiler ma JVM moi-même après tout. J'ai découvert qu'il existe un Dépôt jdk7u-osx dans le Dépôts mercuriens OpenJDK et son Fichier README-builds fournit des instructions raisonnables sur la façon de construire des objets. La partie concernant le téléchargement des sources semble particulièrement importante. J'ai encore quelques problèmes, mais il semble qu'il s'agisse de bogues dans le processus de construction ou d'autres problèmes similaires. Liste de diffusion macosx-port-dev .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X