Jetty和Tomcat无法加载AbstractAnnotationConfigDispatcherServletInitializer的实现

4
我有一个使用纯Java配置的Spring 3.2应用程序。当我使用"mvn jetty:run"启动应用程序时,一切正常。但是当我在Jetty(9.0.2)或Tomcat(7.0)中部署war文件时,我的war文件中的Web应用程序被部署,但它只提供静态资源(index.html),而不加载我的Config类。似乎我的AbstractAnnotationConfigDispatcherServletInitializer实现没有被加载。是否有特殊的配置标志来启用对这些文件的扫描?

请详细描述您的Web应用程序设置。在您的Web应用程序中,如何实现AbstractAnnotationConfigDispatcherServletInitializer类?是在WEB-INF/classes中作为一个类还是在WEB-INF/lib中的JAR文件中?此外,您是如何引用它的?是在WEB-INF/web.xml中(如果是,请显示您的web.xml),还是通过Servlet 3.0注释,或者通过某种Spring机制? - Joakim Erdfelt
我的AbstractAnnotationConfigDispatcherServletInitializer实现位于WEB-INF/classes而不是引用库中。我的web.xml几乎为空,除了XML头(带有version="3.0"metadata-complete="false")和一个Taglib定义。我没有在我的web.xml中引用Abstr...的实现。 - Tarator
这是我的 web.xml 文件 https://gist.github.com/tarator/5438248#file-gistfile1-txt 如前所述:这个配置在使用 mvn-jetty-plugin 时运行良好。我的 AbstractAnnotationConfigDispatcherServletInitializer 没有任何特殊的注解。 - Tarator
1
我做到了:Jetty中未启用注释:http://www.eclipse.org/jetty/documentation/current/annotations.html#annotations-quick-setup - Tarator
2个回答

1

0
在我的情况下,web.xml 中的 metadata-complete 是 true。将其替换为 false 后,AbstractAnnotationConfigDispatcherServletInitializer 被调用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接