是否有OS命令来查找Tomcat6使用的Java版本?我需要使用Perl(包括system())命令.
我用的是Linux.Ubuntu和CentOS
有类似的东西吗?
tomcat6 version
Roman Ivanov.. 97
/usr/local/tomcat6/bin/catalina.sh版本
+1.这应该被选为**正确答案** (18认同)
小智.. 35
首先,您需要先了解Tomcat是一个Java应用程序.因此,要查看Tomcat使用的是哪个Java版本,您只需找到启动Tomcat的脚本文件,通常是catalina.sh.
在此文件中,您将获得如下内容:
catalina.sh:# JAVA_HOME Must point at your Java Development Kit installation. catalina.sh:# Defaults to JAVA_HOME if empty. catalina.sh: [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` catalina.sh: JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` catalina.sh: echo "Using JAVA_HOME: $JAVA_HOME"
默认情况下,JAVA_HOME应为空,这意味着它将使用默认版本的java,或者您可以使用以下命令进行测试:echo $ JAVA_HOME
然后使用"java -version"查看默认java的版本.
反之亦然,通过设置此属性:JAVA_HOME,您可以配置启动Tomcat时要使用的Java版本.
/usr/local/tomcat6/bin/catalina.sh版本
首先,您需要先了解Tomcat是一个Java应用程序.因此,要查看Tomcat使用的是哪个Java版本,您只需找到启动Tomcat的脚本文件,通常是catalina.sh.
在此文件中,您将获得如下内容:
catalina.sh:# JAVA_HOME Must point at your Java Development Kit installation. catalina.sh:# Defaults to JAVA_HOME if empty. catalina.sh: [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` catalina.sh: JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` catalina.sh: echo "Using JAVA_HOME: $JAVA_HOME"
默认情况下,JAVA_HOME应为空,这意味着它将使用默认版本的java,或者您可以使用以下命令进行测试:echo $ JAVA_HOME
然后使用"java -version"查看默认java的版本.
反之亦然,通过设置此属性:JAVA_HOME,您可以配置启动Tomcat时要使用的Java版本.
启动tomcat后,只需在终端提示符下运行以下命令:
ps -ef | grep tomcat
这将显示进程详细信息并指示哪个JVM(按文件夹位置)运行tomcat.
如果tomcat还没有启动,你可以使用该命令\bin\cataline version
检查tomcat在启动tomcat时使用哪个JVM bin\startup
实际上,\bin\cataline version
只需调用org.apache.catalina.util.ServerInfo
位于其中的主类\lib\catalina.jar
.在org.apache.catalina.util.ServerInfo
得到通过以下命令的JVM版本和JVM供应商:
System.out.println("JVM Version: " +System.getProperty("java.runtime.version")); System.out.println("JVM Vendor: " +System.getProperty("java.vm.vendor"));
因此,如果tomcat正在运行,您可以创建一个调用的JSP页面,org.apache.catalina.util.ServerInfo
或者只是调用上面的内容System.getProperty()
来获取JVM版本和供应商.将此JSP部署到正在运行的tomcat实例并浏览到它以查看结果.
或者,您应该知道哪个端口是正在运行的tomcat实例.因此,您可以使用OS命令查找正在侦听此端口的进程.例如,在窗口中,您可以使用该命令netstat -aon
查找正在侦听特定端口的进程的进程ID.然后转到窗口任务管理器以检查此进程ID所属的完整文件路径.然后可以从该文件路径确定Java版本.