我正在使用tomcat 7,我有一个webapp,它有1个配置文件& tomcat bin目录中的1个hazelcast.xml文件。当我从startup.bat启动tomcat作为进程时catalina.timestamp.log显示INFO: Configuring Hazelcast from 'C:\Program Files\Apache Software Foundation\Tomcat 7.0_ApacheTomcat7\bin\hazelcast.xml'.
并且一切正常,但是当我通过启动tomcat作为Windows服务启动相同的webapp时,它会转到tomcat home目录并查找这里的文件INFO: Configuring Hazelcast from 'C:\Program Files\Apache Software Foundation\Tomcat 7.0_ApacheTomcat7\hazelcast.xml'.
我需要放置任何jvm或tomcat选项吗?
下面是我的Java选项,它是在Tomcat属性中设置的-Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 7.0_ApacheTomcat7
-Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 7.0_ApacheTomcat7
-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 7.0_ApacheTomcat7\endorsed
-Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 7.0_ApacheTomcat7\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 7.0_ApacheTomcat7\conf\logging.properties
答案 0 :(得分:0)
我能够解决我的问题。
当我将tomcat作为Windows服务启动时,它将当前工作目录设置为%CATALINA_HOME%
。因此,我在service.bat check here for ref中添加了--StartPath=%CATALINA_HOME%\bin
并安装了新服务service.bat install MyService
。
包含一个没有service.bat
但tomcat6
。下面是创建新的Windows服务的命令。
tomcat6 //IS//MyService --DisplayName="My Service Name" \ --Install="C:\tomcat6\bin\tomcat6.exe" --Jvm=auto \ --StartMode=jvm --StopMode=jvm \ --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start \ --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop \ --StartPath=C:\tomcat6\bin
甚至可以在启动选项卡下的tomcat UI属性中将其设置为启动参数