0 votes

Pourquoi Java ne fonctionne-t-il pas sur l'Apple Silicon ?

Je viens d'acquérir un MacBook Pro équipé de la nouvelle puce M1. J'aimerais utiliser le code Apple Silicon natif dans la mesure du possible.

J'ai un programme de ligne de commande basé sur Java qui fonctionne et j'ai remarqué que cette java dans le moniteur d'activité est de type "Intel".

Le chemin du processus est le suivant /usr/bin/java qui est censé être un binaire universel :

$ file /usr/bin/java
/usr/bin/java: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/usr/bin/java (for architecture x86_64):    Mach-O 64-bit executable x86_64
/usr/bin/java (for architecture arm64e):    Mach-O 64-bit executable arm64e

Alors pourquoi fonctionne-t-il en mode Intel et comment puis-je le faire fonctionner en mode natif ?

2voto

Ezekiel Points 4001

/usr/bin/java n'est pas le moteur d'exécution Java. Il s'agit d'une enveloppe qui lancera une exécution Java. Vous pouvez déterminer quel système d'exécution Java/JDK vous utilisez réellement en examinant les éléments suivants java --version .

Les versions de Java sont généralement installées dans /Library/Java/JavaVirtualMachines . Vous pouvez télécharger un JRE/JDK natif Apple Silicon et le copier à cet emplacement, en supprimant les JRE/JDK existants.

enter image description here

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