[JAVA] Pour changer JVM pour chaque projet

Je souhaite basculer entre JDK et JVM au démarrage et à la compilation

Lorsque vous étudiez Java, vous souhaitez parfois utiliser une version différente en fonction du projet. Par exemple, j'aime la dernière inférence de type var java10 et ultérieure, mais je ne peux utiliser java8 que dans mon entreprise. Selon l'endroit où vous résidez, java4 Il y avait. Il y a des moments où vous devez étudier dans un vieil environnement. Au contraire, à partir de 2020, java10 peut difficilement être utilisé en entreprise ... Dans le cas de l'éclipse, il y a un écran pour spécifier jvm, mais c'est une expérience sur la façon de le spécifier réellement sur la ligne de commande.

Vérifiez quelle JVM est chargée avec java -version

J'ai une classe Main qui a été compilée avec java12 On suppose que la variable d'environnement JAVAHOME est définie sur le chemin d'accès à la JVM de java12. Dans cet état, placez la JVM de java8 JVM dans n'importe quel répertoire et entrez le répertoire contenant la commande java.

bash


java -version 

Frappez la commande. Puis

java version "12.0.1" 2019-04-16

A été affiché. En d'autres termes, même dans le répertoire courant, la machine virtuelle Java qui passe par le chemin de classe du paramètre d'environnement JAVA HOME est en cours d'exécution.

Donc,

bash


./java -version 

J'ai explicitement spécifié la commande java du répertoire actuel. Puis

java version "1.8.0_144"

Et la JVM du répertoire actuel a démarré. Donc, si vous faites de la commande java un chemin complet ou un chemin relatif, vous pouvez passer le chemin quel que soit l'endroit où vous placez la JVM?

J'ai donc essayé de taper la commande suivante dans la racine du projet avec la JVM placée directement sous la racine du projet

bash


./jdk1.8.0_144.jdk/Contents/Home/bin/java -cp ./bin Main

Puis

Exception in thread "main" java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Runtime

J'ai eu cette erreur. On dit que cette classe Main ne peut pas être exécutée sur java8 car elle est construite sur java12. En d'autres termes, le basculement est réussi.

Recommended Posts

Pour changer JVM pour chaque projet
Comment changer l'affichage du menu d'en-tête pour chaque page de transition
Introduction à kotlin pour les développeurs iOS ②-Création de projet
Balayez pour changer d'écran
[Spring Boot] Comment créer un projet (pour les débutants)
Comment faire une boucle Java Map (for Each / extended for statement)
Comment installer une application Web pour chaque langue dans Nginx
Comment créer un hinadan pour un projet Spring Boot à l'aide de SPRING INITIALIZR
Incontournable pour les débutants! Manière spécifique de gérer les projets X-code sur Github
[Rails] Comment changer le titre de la page du navigateur pour chaque page