看起来Tomcat 7启动缓慢问题可以通过在web.xml中设置"metadata-complete"为"true"来解决,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true" id="WebApp_ID" version="3.0"...
问题在于Tomcat在启动时会扫描注解,这会显著减慢启动速度。我的时间从25秒缩短到了5秒。(更多信息请参见:Tomcat and Servlet 3.0 Web Configuration)
然而,我的代码中有一些注解,例如:
@ManagedBean
@RequestScoped
@Override
...
我很困惑 - 在设置了metadata-complete ="true"之后,我的代码还能正常工作吗?我必须删除注释并将所有内容移动到web.xml中吗?
metadata-complete="true"
也会影响Web应用程序的类)。 - NSPKUWCExi2pr8wVoGNkmetadata-complete="true"
关闭了/WEB-INF/lib
和/WEB-INF/classes
中的注解扫描。特别是它关闭了已注册的监听器、过滤器和servlet上的@Resource
注解扫描。 - Pavel S.