Ich habe ein Webprojekt mit Spring Boot erstellt und es auf einem Remote-Server bereitgestellt. Das Standard-JDK ist
echo $JAVA_HOME
/usr/local/jdk1.7.0_72
Da ich in meinem Projekt Java 8 verwendet habe, führe ich vor dem Starten meines Projekts den folgenden Befehl explizit aus
export JAVA_HOME="/usr/local/jdk1.8.0_65"
Dann starte mein Projekt
./myapp.jar
Aber wenn ich unten befehle
java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
Ich bin ein wenig verwirrt, ich bin nicht sicher, welche JDK-Version mein Projekt tatsächlich verwendet hat? Das heißt, es gibt einen Java-Prozess
jps -l
17429 /var/myapp.jar
Woher weiß ich, welche Java-Version verwendet wird?
Danke @ frant.hartm
# ps aux | grep 17429
root 17429 0.4 6.7 5995260 1104984 pts/13 Sl 19:16 0:29 /usr/local/jdk1.8.0_65/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -Dserver.port=8081 -jar /var/myapp.jar
# jcmd 17429 VM.version
17429:
Java HotSpot(TM) 64-Bit Server VM version 25.65-b01
JDK 8.0_65
2 Antworten
Verwenden Sie jcmd:
jcmd process_id VM.version
$ jcmd 9619 VM.version
9619:
Java HotSpot(TM) 64-Bit Server VM version 24.80-b11
JDK 7.0_80
Alternativ können Sie ps verwenden, um herauszufinden, welche Java-Binärdatei verwendet wurde:
ps aux | grep 9619
user 9619 0.0 0.5 4031224 82480 ? Sl 12:31 0:01 /usr/lib/jvm/java-7-oracle/bin/java -cp /usr/lib/jvm
Wenn Sie which java
ausführen, erhalten Sie, welche Java-Binärdatei auf Ihrem Betriebssystem standardmäßig verwendet wird.
Wenn Sie Ihre Anwendung mit Java 8 ausführen und den Standardspeicherort unverändert lassen möchten, führen Sie einfach Folgendes aus:
/usr/local/jdk1.8.0_65/bin/java ./myapp.jar
Verwandte Fragen
Neue Fragen
spring-boot
Spring Boot ist ein Framework, mit dem sich mit minimalem Aufwand auf einfache Weise Anwendungen und Dienste in Spring-Qualität für die Produktion erstellen lassen. Es wird eine Stellungnahme zur Spring-Plattform abgegeben, die für neue und erfahrene Spring-Benutzer entwickelt wurde.