如何找到Tomcat6使用的Java版本?

bit*_*ket 43 java tomcat version find

是否有OS命令来查找Tomcat6使用的Java版本?我需要使用Perl(包括system())命令.

我用的是Linux.Ubuntu和CentOS

有类似的东西吗?

     tomcat6 version
Run Code Online (Sandbox Code Playgroud)

Rom*_*nov 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"
Run Code Online (Sandbox Code Playgroud)

默认情况下,JAVA_HOME应为空,这意味着它将使用默认版本的java,或者您可以使用以下命令进行测试:echo $ JAVA_HOME

然后使用"java -version"查看默认java的版本.

反之亦然,通过设置此属性:JAVA_HOME,您可以配置启动Tomcat时要使用的Java版本.


小智 25

启动tomcat后,只需在终端提示符下运行以下命令:

ps -ef | grep tomcat

这将显示进程详细信息并指示哪个JVM(按文件夹位置)运行tomcat.

  • k如何从中找到tomcat版本? (4认同)

Ken*_*han 6

如果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")); 
Run Code Online (Sandbox Code Playgroud)

因此,如果tomcat正在运行,您可以创建一个调用的JSP页面,org.apache.catalina.util.ServerInfo或者只是调用上面的内容System.getProperty()来获取JVM版本和供应商.将此JSP部署到正在运行的tomcat实例并浏览到它以查看结果.

或者,您应该知道哪个端口是正在运行的tomcat实例.因此,您可以使用OS命令查找正在侦听此端口的进程.例如,在窗口中,您可以使用该命令netstat -aon查找正在侦听特定端口的进程的进程ID.然后转到窗口任务管理器以检查此进程ID所属的完整文件路径.然后可以从该文件路径确定Java版本.