2

使用 Tomcat 7、Jeresy 1.12。

没有 Jersey 的启动 Tomcat 的时间是 4 秒。

当我将 Jersey 的 jars 添加到 tomcat/lib 目录时,启动时间为 50 秒。我使用哪个 servlet 并不重要——即使 web.xml 是空的(没有 servlet),它也需要那个时间。

导致问题的 jar 是 jersey-servlet-1.12。当我从 lib 目录中删除它时,启动时间再次正常。我怀疑该 jar 中定义的服务 (\META-INF\services\*) 导致了问题,但找不到确切的原因......

顺便说一句: metadata-complete="true" 没有解决问题。

编辑:泽西队确认了问题(问题 JERSEY-1317)。解决此问题的方法是META-INF/services/javax.servlet.ServletContainerInitializerjersey-servlet.jar. 这将禁用某些 Servlet3 功能。

4

1 回答 1

0

您还可以将 jar 添加到catalina.properties的tomcat.util.scan.DefaultJarScanner.jarsToSkip列表中

这样,您可以获取更新版本的 jar,而无需记住您应该编辑它。

http://tomcat.10.x6.nabble.com/tomcat-7-0-29-startup-time-td4984446.html

于 2013-06-04T11:29:36.303 回答