32 비트 머신을 지원하는 마지막 OS X 버전이 10.6 이었으므로 OS (제한된) 지식으로는 OS X가 더 이상 Oracle에서 32 비트 전용 Java 버전을 받지 않습니다 . 그렇게 말하면 Java의 마지막 Apple 배포판은 활성화하면 32 비트 모드를 지원하는 것으로 보입니다. 그 말에 따르면, 달리기는 항상 여전히 행복하지는 않습니다. 그러나이 게시물에 따르면 일부 바이너리를 편집하여 강제로 설정할 수 있습니다.
핵심은 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java를 32 비트 모드 전용 바이너리로 바꾸는 것입니다.
- 이진 헤더를 찾으려면 "xxd -g1 java | grep -E 'c. fa'"를 사용하십시오.
xxd -g1 java | grep -E 'c. 파'
0001000 : fe faeded 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은 32 비트입니다. 1
따라서 32 비트 이진은 0x1000에서 시작하여 0xc000의 길이로 0xd000에서 끝납니다.
내가 좋아하는 도구를 사용하여 32 비트 모드 바이너리를 추출하십시오. "file java"를 사용하여 확인하십시오.
원래 Java 바이너리를 백업하십시오.
"/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java"바이너리를 2 단계에서 추출 된 32 비트 모드 전용 바이너리로 바꾸십시오.
테스트! Java 콘솔이 표시되지 않고이를 켜는 Java 환경 설정이없는 경우 ~ / Library / Caches / Java에서 deployment.properties 파일을 사용하고 "deployment.console.startup.mode = SHOW"를 추가 할 수 있습니다.
그 말에 따르면, Java의 내부는 좋지 않으며 사용중인 JVM에 따라 변경 될 수 있습니다.