Esecuzione di una versione a 32 bit di java? [duplicare]

0

Recentemente stavo cercando di utilizzare una libreria che necessitava di una versione di java a 32 bit. Ho provato ad ottenere la mia versione di java per usare la versione a 32-bit usando il flag -d32. Tuttavia, ho ricevuto l'errore:

Error: This Java instance does not support a 32-bit JVM. Please install the desired version.

Ho cercato di scoprire come scaricare la versione a 32 bit di java per OS X, ma con scarso successo. Qualsiasi aiuto sarebbe il benvenuto. È possibile anche senza un download ufficiale utilizzare OpenJDE a 32 bit?

    
posta user3630263 09.03.2016 - 18:09
fonte

1 risposta

0

Alla mia conoscenza (limitata), OS X non riceve più versioni solo a 32 bit di Java da Oracle, poiché l'ultima versione di OS X per supportare macchine a 32 bit era 10.6. Detto questo, l'ultima distribuzione Apple di Java sembra supportare la modalità a 32 bit, se la abiliti. Detto questo, apparentemente non è sempre così felice di correre. Tuttavia, in base a questo post, modificando alcuni binari, puoi forzarlo a

La chiave è di sostituire /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java con una modalità a 32 bit solo binari.

  1. Usa "xxd -g1 java | grep -E 'c. fa'" per trovare l'intestazione binaria.
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 è quello a 32 bit. 1

Quindi il file binario a 32 bit inizia da 0x1000 e termina a 0xd000 con una lunghezza di 0xc000.

  1. Estrai il binario in modalità a 32 bit usando i tuoi strumenti preferiti .... (ad esempio dd) per me mi piace xxd poichè la sua sintassi è più facile da ricordare. Verificalo usando "file java".

  2. Esegui il backup del file binario java originale.

  3. Sostituisci il file binario "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java" con la modalità a 32 bit estratta solo nel passaggio 2.

  4. Prova! Se la console Java non viene visualizzata e non è presente alcuna preferenza Java per attivarla, è possibile utilizzare il file deployment.properties in ~ / Library / Caches / Java e aggiungere "deployment.console.startup.mode = SHOW".

Detto questo, io non conosco bene la parte interna di Java, ed è del tutto possibile che questo cambi in base a quale JVM stai usando.

    
risposta data 09.03.2016 - 18:22
fonte

Leggi altre domande sui tag