0

我正在尝试将 tomcat 作为服务运行。当我只指定一个 startpath 或 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。仅当设置了两个变量时才会发生错误。

4

1 回答 1

0

问题是,当我更改开始路径并分配变量时,它失去了 catalina home 的踪迹。所以我加了

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

到我的 JvmOptions 并且一切正常。

于 2013-04-26T15:34:37.160 回答