【问题标题】:Jetty and tomcat doesn't load implementation of AbstractAnnotationConfigDispatcherServletInitializerJetty 和 tomcat 不加载 AbstractAnnotationConfigDispatcherServletInitializer 的实现
【发布时间】:2013-04-15 02:44:11
【问题描述】:

我有一个基于纯 java 配置的 Spring 3.2 应用程序。 当我使用“mvn jetty:run”启动应用程序时,一切正常。 但是当我在 Jetty(9.0.2) 或 Tomcat(7.0) 中部署 war 文件时,会部署我的 war 文件中的 webapp,但它只为我的静态资产 (index.html) 提供服务,但不加载我的配置类.看来,我的 AbstractAnnotationConfigDispatcherServletInitializer 实现没有加载。

是否有一个特殊的配置标志来启用该文件的扫描?

【问题讨论】:

  • 请详细说明您的网络应用设置。在您的 web 应用程序中找到 AbstractAnnotationConfigDispatcherServletInitializer 的实现在哪里?作为WEB-INF/classes 中的一个类或WEB-INF/lib 中的一个罐子?另外你是如何引用它的?在WEB-INF/web.xml 中(如果是,让我们看看你的 web.xml),通过 Servlet 3.0 注释,还是通过一些 Spring 机制?
  • 我的 AbstractAnnotationConfigDispatcherServletInitializer-实现在 WEB-INF/classes 中,而不是在引用的库中。我的 web.xml 几乎是空的:除了 XML 标头(带有 version="3.0"metadata-complete="false" 以及 Taglib 定义。我没有在我的 web.xml 中引用我的 Abstr... 的实现。
  • 这是我的web.xml gist.github.com/tarator/5438248#file-gistfile1-txt 如前所述:此配置适用于 mvn-jetty-plugin。我的AbstractAnnotationConfigDispatcherServletInitializer 没有特殊注释。
  • 我做到了:码头没有启用注释:eclipse.org/jetty/documentation/current/…

标签: spring maven model-view-controller tomcat jetty


【解决方案1】:

就我而言,web.xml 中的metadata-complete 是正确的。将其替换为 false 后,将调用 AbstractAnnotationConfigDispatcherServletInitializer

【讨论】:

    【解决方案2】:

    我的问题是,我的 Jetty-Standalone 配置中没有启用注释:http://www.eclipse.org/jetty/documentation/current/annotations.html#annotations-quick-setup

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 2019-11-08
      • 2013-08-23
      相关资源
      最近更新 更多