我正在尝试将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。只有在设置了两个变量时才会出现错误。
答案 0 :(得分:0)
问题在于,当我改变起始路径并分配变量时,它正在失去catalina home的踪迹。所以我添加了
-Dcatalina.home=apacheInstallLoc;-Dcatalina.base=apacheInstallLoc
到我的JvmOptions,一切正常。