0 votes

Vous utilisez une version 32 bits de Java ?

J'ai récemment essayé d'utiliser une bibliothèque qui nécessitait une version 32 bits de Java. J'ai essayé de faire en sorte que ma version de java utilise la version 32 bits en utilisant l'indicateur -d32. Cependant, j'ai reçu l'erreur suivante :

Erreur : Cette instance Java ne prend pas en charge une JVM 32 bits. Veuillez installer la version souhaitée.

J'ai essayé de trouver comment télécharger la version 32 bits de java pour OS X, mais sans grand succès. Toute aide serait la bienvenue. Est-il possible, même sans téléchargement officiel, d'utiliser OpenJDE en 32 bits ?

0voto

JMY1000 Points 4874

À ma connaissance (limitée), OS X ne reçoit plus de fichiers 32 bits. seulement de Java d'Oracle, car la dernière version d'OS X à prendre en charge les machines 32 bits était la 10.6. Ceci étant dit, la dernière distribution Apple de Java semble prendre en charge le mode 32 bits - si vous l'activez. Cela dit, apparemment, la course n'est pas toujours aussi heureuse. Cependant, selon cet article, en modifiant certains binaires, vous pouvez le forcer à le faire.

La clé est de remplacer /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java par un binaire en mode 32 bits uniquement.

  1. Utilisez "xxd -g1 java | grep -E 'c. fa'" pour trouver l'en-tête binaire.

    xxd -g1 java | grep -E 'c. fa' 0001000: ce fa ed fe 07 00 00 00 03 00 00 00 02 00 00 00 000c4b0: 01 28 6f d8 ce 3b 3a b0 c9 cd fa 87 b1 35 df 08 000d000: cf fa ed fe 07 00 00 01 03 00 00 80 02 00 00 00 000f060: 00 0f 84 c7 fa ff ff 48 8d 3d 96 39 00 00 be 01

07 00 00 00 est le 32 bits. 1

Ainsi, le binaire 32 bits commence à 0x1000 et se termine à 0xd000 avec une longueur de 0xc000.

  1. Extrayez le binaire en mode 32 bits à l'aide de votre outil préféré.... (par exemple dd) ; pour ma part, j'aime xxd car sa syntaxe est plus facile à retenir. Vérifiez-le en utilisant "file java".

  2. Sauvegarder le binaire original de java.

  3. Remplacez le binaire "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java" par le binaire extrait en mode 32 bits uniquement à l'étape 2.

  4. Test ! Si la console Java n'est pas affichée, et qu'il n'y a pas de préférence Java pour l'activer, vous pouvez utiliser le fichier deployment.properties dans ~/Library/Caches/Java et ajouter "deployment.console.startup.mode=SHOW".

Cela dit, je ne connais pas bien les mécanismes internes de Java, et il est tout à fait possible que cela change en fonction de la JVM que vous utilisez.

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