如何在未将Tomcat作为服务安装时查找Tomcat的安装/运行位置

时间:2014-07-01 19:10:35

标签: java windows tomcat

我正在尝试确定从Windows中的startup.bat启动时的Tomcat安装目录。

当Tomcat作为服务运行时,很容易确定tomcat7.exe的运行位置,但我不确定如何在脚本启动时执行此操作。我知道从脚本启动Tomcat时java正在运行,但可执行路径是java jre。我有什么办法可以找到基于java的catalina运行的地方吗?

2 个答案:

答案 0 :(得分:1)

假设您知道startup.bat的位置,那么只需上面两个文件夹就可以了。

假设您只有这个文件的快捷方式,那么您需要检索一个进程列表,解释应用程序和他们正在使用的文件的位置,类似于基于Unix的操作系统的ps aux命令。幸运的是,Windows也有这样的事情。从这个伟大的Q / A:Is there a command in Windows like ps -aux in UNIX?,更具体地说,this answer,在Windows中查找tomcat位置的方法是执行wmic应用程序(如果需要,可以通过CMD)和写process命令,这将提供当前运行的应用程序及其参数的列表。例如,我从startup.bat文件初始化了Tomcat,并使用上面的命令得到了这个结果(单行):

java.exe                     "C:\Program Files\Java\jdk1.7.0_40\bin\java"   -Djava.util.logging.config.file="<TOMCAT_HOME>\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager   -Djava.endorsed.dirs="<TOMCAT_HOME>\endorsed" -classpath "<TOMCAT_HOME>\bin\bootstrap.jar;<TOMCAT_HOME>\bin\tomcat-juli.jar" -Dcatalina.base="<TOMCAT_HOME>" -Dcatalina.home="<TOMCAT_HOME>" -Djava.io.tmpdir="<TOMCAT_HOME>\temp" org.apache.catalina.startup.Bootstrap  start

这是相同的结果,但分成几行以提高可读性:

java.exe "C:\Program Files\Java\jdk1.7.0_40\bin\java"
    -Djava.util.logging.config.file="<TOMCAT_HOME>\conf\logging.properties"
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -Djava.endorsed.dirs="<TOMCAT_HOME>\endorsed"
    -classpath "<TOMCAT_HOME>\bin\bootstrap.jar;<TOMCAT_HOME>\bin\tomcat-juli.jar"
    -Dcatalina.base="<TOMCAT_HOME>"
    -Dcatalina.home="<TOMCAT_HOME>"
    -Djava.io.tmpdir="<TOMCAT_HOME>\temp"
    org.apache.catalina.startup.Bootstrap  start

注意:我已在上面的结果中用<TOMCAT_HOME>替换了实际路径。


TL; DR执行此操作:

  • 打开cmd
  • 执行wmic
  • 执行流程
  • 等待几秒钟,然后搜索java.exe和包含Tomcat jar的参数。

答案 1 :(得分:0)

由于您明确提到* .bat和Windows,这是您的答案。

1.大多数tomcat应用程序以zip文件形式出现,而不是msi / exe。您提取的位置实际上是其位置。单击startup.bat文件

启动应用程序

2.用记事本打开bat文件。您还可以找到应用程序的相对路径。

3.查找路径变量。

希望此信息有所帮助