2016-01-04 3 views
1

Я создал веб-проекта используется пружинный загрузки и развертывания его на удаленном сервере, и это по умолчанию JDK являетсяКак проверить Java версию запущенного процесса Java используется

echo $JAVA_HOME 
/usr/local/jdk1.7.0_72 

потому что я использовал Java 8 в моем проекте, поэтому, прежде чем начать свой проект, я явно EXEC ниже команды

export JAVA_HOME="/usr/local/jdk1.8.0_65" 

затем начать мой проект

./myapp.jar 

номе т когда я EXEC ниже команды

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) 

Я немного запутался, я не уверен, какая версия JDK мой проект на самом деле используется? То есть это процесс Java

jps -l 
17429 /var/myapp.jar 

Как узнать, какая версия Java используется?

Спасибо @ 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 

ответ

1

Использование 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 

В качестве альтернативы, вы можете использовать пс чтобы выяснить, какие Java двоичный:

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 
+0

большое спасибо! – zhuguowei

0

Если выполнить which java, это даст вам, какие Java двоичным используется по умолчанию ОС.

Если вы хотите запустить приложение с Java 8 и оставить место по умолчанию без изменений, просто запустите:

/usr/local/jdk1.8.0_65/bin/java ./myapp.jar 
+0

спасибо, но я хочу знать, может ли eixst использовать какой-либо инструмент jvm, например 'jstack jmap' может помочь вам узнать java-версию java-процесса – zhuguowei

+0

В большинстве дистрибутивов Linux, которые имеют какую-то« альтернативную »систему (например, Ubuntu), это укажет на символическую ссылку (например,/usr/bin/java - >/etc/alternatives/java,/etc/alternatives/java ->/usr/lib/jvm/java-8-oracle/jre/bin/java) –

Смежные вопросы