Java Tomcat作为windows服务运行时无法加载webapp

Java Tomcat作为windows服务运行时无法加载webapp,java,tomcat,windows-services,tomcat7,tomcat6,Java,Tomcat,Windows Services,Tomcat7,Tomcat6,我使用的是tomcat 7,我有一个webapp,在tomcat bin目录中有一个配置文件&1 hazelcast.xml文件。当我从startup.bat catalina.timestamp.log启动tomcat作为一个进程时,会显示信息:从'C:\Program Files\Apache Software Foundation\tomcat 7.0\u ApacheTomcat7\bin\Hazelcast.xml'配置Hazelcast。一切正常,但是,当我通过启动tomcat作为w

我使用的是tomcat 7,我有一个webapp,在tomcat bin目录中有一个配置文件&1 hazelcast.xml文件。当我从startup.bat catalina.timestamp.log启动tomcat作为一个进程时,会显示
信息:从'C:\Program Files\Apache Software Foundation\tomcat 7.0\u ApacheTomcat7\bin\Hazelcast.xml'配置Hazelcast。
一切正常,但是,当我通过启动tomcat作为windows服务来启动同一个webapp时,它会转到tomcat home dir并在此处查找文件
INFO:configuration Hazelcast from'C:\Program Files\Apache Software Foundation\tomcat 7.0\u ApacheTomcat7\Hazelcast.xml.

我是否需要放置任何jvm或tomcat选项

下面是我在Tomcat属性中设置的Java选项

-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

我能解决我的问题

当我将Tomcat作为Windows服务启动时,它将当前工作目录设置为
%CATALINA\u HOME%
。因此,我在
service.bat
(详细信息)中添加了
--StartPath=%CATALINA\u HOME%\bin
,并安装了一个新的服务,如:
service.bat install MyService

如果您没有
服务.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 GUI中设置它:
启动
选项卡|
启动参数

(Tomcat GUI也称为“Commons守护程序服务管理器”。默认名称为
tomcat7w.exe
,或“YOURSERVICENAMEHEREw.exe”。)