service <tomcat8> start无法启动服务,而servlet.log

时间:2018-07-20 20:05:35

标签: linux apache tomcat service tomcat8

我最近将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和tomcat 8.5.29的servlet.log,那么我可以确定我的应用程序没有加载。因此,tomcat 8的servlet.log中没有错误。

如果我使用/etc/init.d/<myapp -tomcat8> start,那么一切正常。

如果能从大家那里得到任何帮助,我将非常感谢。

1 个答案:

答案 0 :(得分:0)

因此,经过2-3天的奋斗,我找到了解决自己问题的方法。有人会觉得有用。

我在两个不同的系统上打开了apache tomcat 7的调试模式(我正在使用log4j2并且已经配置了)和apache tomcat 8,并将apache tomcat 7的工作日志与apache tomcat 8的非工作日志进行了比较。发现tomcat8正在扫描许多其他无关的东西。

我更新了位于Tomcat的/ conf目录中的context.xml,如下所述,它对我有用。

<JarScanner scanClassPath="false"/>

请注意以下内容:

  1. 将上面的内容放置在特定于应用程序的context.xml中对我不起作用。
  2. 使用tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\*.jar更新catalina.properties文件对我也不起作用。
  3. 进行更改后,我遇到错误:java.lang.IllegalStateException: No output folder,但这是由于tomcat文件夹的权限/所有权错误。