如何检查使用的 运行 java 进程的 java 版本
How to check java version of a running java process used
我创建了一个使用 spring 启动的 Web 项目并将其部署在远程服务器上,它的默认 JDK 是
echo $JAVA_HOME
/usr/local/jdk1.7.0_72
因为我在我的项目中使用了java 8,所以在开始我的项目之前,我明确地执行了下面的命令
export JAVA_HOME="/usr/local/jdk1.8.0_65"
然后开始我的项目
./myapp.jar
但是当我执行以下命令时
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
如果您执行 which java
,它会告诉您 OS 默认使用哪个 java 二进制文件。
如果您想 运行 您的应用程序 Java 8 并保持默认位置不变,只需 运行:
/usr/local/jdk1.8.0_65/bin/java ./myapp.jar
使用 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
或者,您可以使用 ps 找出使用了哪个 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
我创建了一个使用 spring 启动的 Web 项目并将其部署在远程服务器上,它的默认 JDK 是
echo $JAVA_HOME
/usr/local/jdk1.7.0_72
因为我在我的项目中使用了java 8,所以在开始我的项目之前,我明确地执行了下面的命令
export JAVA_HOME="/usr/local/jdk1.8.0_65"
然后开始我的项目
./myapp.jar
但是当我执行以下命令时
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
如果您执行 which java
,它会告诉您 OS 默认使用哪个 java 二进制文件。
如果您想 运行 您的应用程序 Java 8 并保持默认位置不变,只需 运行:
/usr/local/jdk1.8.0_65/bin/java ./myapp.jar
使用 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
或者,您可以使用 ps 找出使用了哪个 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