[JAVA] JVM für jedes Projekt wechseln

Ich möchte beim Start und bei der Kompilierung zwischen JDK und JVM wechseln

Wenn Sie Java lernen, gibt es Zeiten, in denen Sie je nach Projekt eine andere Version verwenden möchten. Zum Beispiel mag ich die neueste Inferenz vom Typ Java10 und höher, aber ich kann Java8 nur in meinem Unternehmen verwenden. Je nachdem, wo Sie wohnen, Java4 dort gab es. Es gibt Zeiten, in denen Sie in einer alten Umgebung lernen müssen. Vielmehr kann Java10 ab 2020 kaum noch im Geschäftsleben eingesetzt werden ... In Eclipse gibt es einen Bildschirm zum Angeben von JVM, aber es ist ein Experiment, wie man es tatsächlich in der Befehlszeile angibt.

Überprüfen Sie, welche JVM mit Java-Version geladen ist

Ich habe eine Hauptklasse, die mit Java12 kompiliert wurde Es wird angenommen, dass die Umgebungsvariable JAVAHOME auf den Pfad zur JVM von Java12 gesetzt ist. Platzieren Sie in diesem Zustand die JVM von java8 JVM in einem beliebigen Verzeichnis und geben Sie das Verzeichnis ein, in dem sich der Befehl java befindet.

bash


java -version 

Drücken Sie den Befehl. Dann

java version "12.0.1" 2019-04-16

Wurde angezeigt. Mit anderen Worten, selbst im aktuellen Verzeichnis wird die JVM ausgeführt, die den Klassenpfad der Umgebungseinstellung JAVA HOME durchläuft.

Deshalb,

bash


./java -version 

Ich habe den Java-Befehl des aktuellen Verzeichnisses explizit angegeben. Dann

java version "1.8.0_144"

Und die JVM des aktuellen Verzeichnisses wurde gestartet. Wenn Sie also den Java-Befehl zu einem vollständigen Pfad oder einem relativen Pfad machen, können Sie den Pfad übergeben, unabhängig davon, wo Sie die JVM platzieren.

Daher habe ich versucht, den folgenden Befehl in das Projektstammverzeichnis einzugeben, wobei die JVM direkt unter dem Projektstammverzeichnis platziert wurde

bash


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

Dann

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

Ich habe diesen Fehler bekommen. Es wird gesagt, dass diese Hauptklasse nicht auf Java8 ausgeführt werden kann, da sie auf Java12 basiert. Mit anderen Worten, der Wechsel ist erfolgreich.

Recommended Posts

JVM für jedes Projekt wechseln
So wechseln Sie die Anzeige des Header-Menüs für jede Übergangsseite
Einführung in Kotlin für iOS-Entwickler ②-Projekterstellung
Wischen Sie, um die Bildschirme zu wechseln
[Spring Boot] So erstellen Sie ein Projekt (für Anfänger)
So schleifen Sie Java Map (für jede / erweiterte for-Anweisung)
So installieren Sie die Webanwendung für jede Sprache in Nginx
So erstellen Sie mit SPRING INITIALIZR einen Hinadan für ein Spring Boot-Projekt
Ein Muss für Anfänger! Eine konkrete Möglichkeit, ein X-Code-Projekt auf Github zu verwalten
[Schienen] So ändern Sie den Seitentitel des Browsers für jede Seite