service <tomcat8> start 启动服务失败 servlet.log 没有任何错误
service <tomcat8> start fails to start service without any error in servlet.log
我最近将 Apache tomcat 从 7.x 升级到了 8.5.29。 tomcat 部署在我的应用程序中。我有 /etc/init.d
启动 tomcat 的脚本(当然还有我的一些项目特定的其他服务)。
命令:服务启动工作正常,直到我使用 tomcat 7,然后在升级到 tomcat 8.5.29 后,此命令停止工作。 /etc/init.d
脚本完全没有变化。只是 tomcat 升级的问题而已。 Servlet.log 没有显示任何错误,但如果我比较 tomcat 7 的 servlet.log 和 tomcat 8.5.29,那么我可以发现我的应用程序没有加载。因此 tomcat 8.
的 servlet.log 中没有错误
而如果我使用 /etc/init.d/<myapp -tomcat8> start
,则一切正常。
如果能得到大家的帮助,我将不胜感激。
所以经过2-3天的奋斗,我找到了解决我自己问题的方法。有人可能会觉得有用。
我在两个不同的系统上打开了 apache tomcat 7 的调试模式(我正在使用 log4j2 并且已经配置好了)和 apache tomcat 8 并比较了 apache 的工作日志 tomcat 7 和 apache 的非工作日志 tomcat 8。我发现 tomcat8 正在扫描许多额外的和不相关的东西。
我更新了位于 Tomcat 的 /conf 目录中的 context.xml,如下所示,这对我有用。
<JarScanner scanClassPath="false"/>
请注意以下内容:
- 在应用特定 context.xml 上方放置对我不起作用。
- 用
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\*.jar
更新 catalina.properties 文件也不适合我。
- 进行更改后我遇到了错误:
java.lang.IllegalStateException: No output folder
但那是由于 tomcat 文件夹的错误 permission/ownership。
我最近将 Apache tomcat 从 7.x 升级到了 8.5.29。 tomcat 部署在我的应用程序中。我有 /etc/init.d
启动 tomcat 的脚本(当然还有我的一些项目特定的其他服务)。
命令:服务启动工作正常,直到我使用 tomcat 7,然后在升级到 tomcat 8.5.29 后,此命令停止工作。 /etc/init.d
脚本完全没有变化。只是 tomcat 升级的问题而已。 Servlet.log 没有显示任何错误,但如果我比较 tomcat 7 的 servlet.log 和 tomcat 8.5.29,那么我可以发现我的应用程序没有加载。因此 tomcat 8.
而如果我使用 /etc/init.d/<myapp -tomcat8> start
,则一切正常。
如果能得到大家的帮助,我将不胜感激。
所以经过2-3天的奋斗,我找到了解决我自己问题的方法。有人可能会觉得有用。
我在两个不同的系统上打开了 apache tomcat 7 的调试模式(我正在使用 log4j2 并且已经配置好了)和 apache tomcat 8 并比较了 apache 的工作日志 tomcat 7 和 apache 的非工作日志 tomcat 8。我发现 tomcat8 正在扫描许多额外的和不相关的东西。
我更新了位于 Tomcat 的 /conf 目录中的 context.xml,如下所示,这对我有用。
<JarScanner scanClassPath="false"/>
请注意以下内容:
- 在应用特定 context.xml 上方放置对我不起作用。
- 用
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\*.jar
更新 catalina.properties 文件也不适合我。 - 进行更改后我遇到了错误:
java.lang.IllegalStateException: No output folder
但那是由于 tomcat 文件夹的错误 permission/ownership。