错误:通过tomcat7.exe将Tomcat 7配置为Windows服务

时间:2013-04-25 16:43:43

标签: windows tomcat windows-services tomcat7

我正在尝试将tomcat作为服务运行。当我只指定一个启动路径或只是jvmoptions时,我能够成功运行它。但是,如果我同时收到以下错误:

2013-04-25 11:34:01 Commons Daemon procrun stderr initialized
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:236)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:426)

我正在运行的命令如下:

service.bat install WebServices
tomcat7 //US//WebServices --Startup=auto --DisplayName="Web Services"
tomcat7 //US//WebServices --StartPath="C:\Program Files\engine" 
tomcat7 //US//WebServices --JvmOptions="-Xmx4g;-XX:PermSize=2048m;-XX:MaxPermSize=2048m"

正如我所说,如果我不运行JvmOptions行,它会成功将日志文件写入我的startpath目录,服务就会正常运行。然后,如果我不包含startpath它也将正确运行,它只是不会输出到startpath。只有在设置了两个变量时才会出现错误。

1 个答案:

答案 0 :(得分:0)

问题在于,当我改变起始路径并分配变量时,它正在失去catalina home的踪迹。所以我添加了

-Dcatalina.home=apacheInstallLoc;-Dcatalina.base=apacheInstallLoc

到我的JvmOptions,一切正常。