使用Tomcat 7,Jeresy 1.12。
不带泽西岛的Tomcat启动时间为4秒。
当我将Jersey的jar添加到tomcat/lib目录时,启动时间为50秒。我使用哪一个servlet并不重要——即使web.xml是空的(没有servlet)也需要时间。
导致问题的jar是jersey-servlet-1.12。当我将它从lib目录中删除时,启动时间再次正常。我怀疑那个jar中定义的服务(\META-INF\services\*)造成了问题,但找不到确切的原因。。。
BTW:元数据完整="true"并没有解决问题。
编辑:泽西岛团队确认了问题(问题Jersey-1317)。解决此问题的方法是从jersey-servlet.jar
中删除META-INF/services/javax.servlet.ServletContainerInitializer
文件。这将禁用Servlet3的某些功能。
您也可以将jar添加到catalina.properties的tomcat.util.scan.DefaultJarScanner.jarsToSkip列表中
这样你就可以获得一个更新版本的jar,而不需要记住你应该编辑它
请参阅http://tomcat.10.x6.nabble.com/tomcat-7-0-29-startup-time-td4984446.html