我正在尝试确定从Windows中的startup.bat启动时的Tomcat安装目录。
当Tomcat作为服务运行时,很容易确定tomcat7.exe的运行位置,但我不确定如何在脚本启动时执行此操作。我知道从脚本启动Tomcat时java正在运行,但可执行路径是java jre。我有什么办法可以找到基于java的catalina运行的地方吗?
答案 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执行此操作:
java.exe
和包含Tomcat jar的参数。答案 1 :(得分:0)
由于您明确提到* .bat和Windows,这是您的答案。
1.大多数tomcat应用程序以zip文件形式出现,而不是msi / exe。您提取的位置实际上是其位置。单击startup.bat文件
启动应用程序2.用记事本打开bat文件。您还可以找到应用程序的相对路径。
3.查找路径变量。
希望此信息有所帮助