我的Maven Eclipse Project使用Spring 4.1.6.RELEASE,java 8和Tomcat 8服务器进行部署。当我使用控制台“mvn package”构建项目并通过/ manager部署.war文件时,它工作正常。但是当我想要使用Eclipse及其“Run on Server”选项时,它会抛出这样的结果:
ava.io.IOException: java.lang.ClassNotFoundException: org.springframework.web.SpringServletContainerInitializer...
在控制台的最后我可以看到
May 15, 2015 10:39:08 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1424 ms
但我无法打开tomcat的经理或我的网站(HTTP状态404)
我很确定Eclipse Build路径或Assembly Dependency存在问题,但我不知道该怎么做。
的pom.xml(依赖):
<properties>
<spring.version>4.1.6.RELEASE</spring.version>
</properties>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
修改
在错误消息之前有两行:
May 15, 2015 11:38:19 AM org.apache.catalina.startup.ContextConfig processServletContainerInitializers
SEVERE: Failed to process JAR found at URL [/aaaa] for ServletContainerInitializers for context with name [{1}]
答案 0 :(得分:0)
可能的解决方案
答案 1 :(得分:0)
tomcat管理器问题是因为Eclipse没有将ROOT和管理器目录从Tomcat的webapps复制到wtpwebapps。 Wtpwebapps是Eclipse自己的webbapp部署的单独文件夹,即当您通过eclipse直接部署Web应用程序时。确保手动将webapps中的所有内容复制到wtpwebapps。
答案 2 :(得分:0)
好的,谢谢所有答案。转换为Maven项目从项目中删除了EAR库和Webapp库。解决方案是再次添加它们。