信息:没有在类路径上检测到Spring WebApplicationInitializer类型

Aro*_*nte 32 java spring spring-mvc tomcat7

当我从eclipse部署时,我有一个在我的tomcat7服务器上正常运行的spring项目:Run As >> Run on server.在eclipse选项卡"Servers"中,我看到:

Servers
 Tomcat v7.0 Server at localhost [Started, Synchronized]
   my_project [Synchronized]
     spring-web-3.2.4-RELEASE.jar
Run Code Online (Sandbox Code Playgroud)

我的项目:

  • 不使用web.xml,我使用javaconf @ annotations.
  • 不使用maven,我使用用户库

我看到该项目在:

/srv/applications/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
Run Code Online (Sandbox Code Playgroud)

而且,我还看到了文件夹:conf,logs,temp,webapps,work,wtpwebapps

我确认当我从eclipse部署时,我的tomcat7服务器上的所有运行正常!

在eclipse控制台中,我得到:

Apr 08, 2014 3:26:59 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:my_project' did not find a matching property.
Apr 08, 2014 3:27:00 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8888"]
Apr 08, 2014 3:27:00 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8843"]
Apr 08, 2014 3:27:01 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3215 ms
Apr 08, 2014 3:27:01 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Apr 08, 2014 3:27:01 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
Apr 08, 2014 3:27:11 PM org.apache.catalina.core.ApplicationContext log
INFO: Spring WebApplicationInitializers detected on classpath: [my_project.web.context.WebApplicationInitializer@3599e94c]
Apr 08, 2014 3:27:12 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Apr 08, 2014 3:27:24 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcher'
Apr 08, 2014 3:27:24 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8888"]
Apr 08, 2014 3:27:24 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8843"]
Apr 08, 2014 3:27:24 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 23821 ms
Run Code Online (Sandbox Code Playgroud)

现在:问题当我在相同的tomcat7服务器/ var/lib/tomcat7/webapps中部署相同的应用程序(使用文件.war)时

我可以打开我的初始页面网络但没有数据,

我在日志中看到:

INFO: No Spring WebApplicationInitializer types detected on classpath
Run Code Online (Sandbox Code Playgroud)

当我重新启动tomcat7时,我进入了日志文件:

INFO: Destroying ProtocolHandler ["http-bio-8843"]
Apr 8, 2014 3:25:30 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:my_project' did not find a matching property.
Apr 8, 2014 3:25:30 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8888"]
Apr 8, 2014 3:25:31 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8843"]
Apr 8, 2014 3:25:31 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1664 ms
Apr 8, 2014 3:25:31 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Apr 8, 2014 3:25:31 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
Apr 8, 2014 3:25:38 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8888"]
Apr 8, 2014 3:25:38 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8843"]
Apr 8, 2014 3:25:38 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7576 ms
Run Code Online (Sandbox Code Playgroud)

Aro*_*nte 19

我发现了错误:我有一个使用jdk 1.6构建的库.Spring主控制器和组件位于此库中.我如何使用jdk 1.7,它没有找到1.6中构建的类.

该解决方案全部使用"编译器合规级别:1.7"和"生成的.class文件兼容性:1.6","源兼容性:1.6"构建.

我在Eclipse中设置了这个选项:Preferences\Java\Compiler.

谢谢大家.


Ana*_*kzz 5

我愚蠢的原因是:自动构建被禁用!

  • 你救了我的命。我已经调试了至少5个小时,原因是“自动构建”已被禁用..呵呵..谢谢兄弟。 (2认同)

小智 0

这是常见错误,请确保您的 file.war 已正确构建。只需打开 .war 文件并检查您的 WebApplicationInitializer 是否在那里。