Spring MVC应用程序的构建错误

问题描述:

我对Spring框架相当陌生。我最近安装了SpringSource Tool Suite(版本2.8.1.RELEASE)。使用Subclipse,我已经检出了我的队友创建的Spring MVC项目。它在他的机器上工作正常,但我们无法弄清楚为什么我的机器上出现构建错误。Spring MVC应用程序的构建错误

我使用Tomcat v6.0 Server来运行项目。这是错误的一部分:

INFO: Starting Servlet Engine: Apache Tomcat/6.0.35 
2012-jan-30 13:43:46 org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener 
java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener 
    at java.lang.ClassLoader.findBootstrapClass(Native Method) 
    at java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:926) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:297) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:295) 

Tomcat服务器具有以下类路径:引导条目:JRSE系统库[jdk1.6.0_27],弹簧2.5.2-20080220-410.jar。用户条目:bootstrap.jar,tools.jar

有关如何解决此问题的任何想法?

您需要转到您的构建路径设置并确保包含Apache Tomcat库。

在Project Explorer中右键单击您的项目名称,单击属性。在属性对话框中,单击左侧列表中的Java Build Path,然后打开库选项卡。确认Apache Tomcat库是否存在。

如果不存在,请单击添加库 - >服务器运行时 - > Apache Tomcat v x.0 - >完成。

+1

感谢您的帮助!是的,我没有参考构建路径中的Apache Tomcat库(奇怪,因为我检查了Subclipse的工作代码)。尽管如此,这个问题仍然存在(错误信息似乎完全一样),尽管增加了这一点。 :-( – Gruber 2012-01-31 09:26:26

+1

)您可能还缺少构建路径中的“Web App Libraries”,如果它不在(同一位置),请单击添加库 - > Web App Libraries - >下一步 - >从列表中选择您的项目 - > – craftsman 2012-01-31 09:56:15

+0

谢谢,我错过了这个库,但是问题仍然存在,我的团队伙伴刚刚做了一个新的STS安装,并且遇到了同样的问题,他创建了一个MVC测试项目,也没有工作。 – Gruber 2012-01-31 14:24:26

对于它的价值,我最终通过右键单击项目名称 - >属性 - > Java构建路径 - >订单和导出,摆脱了这个令人烦恼的问题。我检查了JRE系统库和Maven依赖关系。

另一个问题是pom.xml引用spring-core两次。我删除了两个并手动添加:

<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>3.0.6.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 

另外,检查是否启用了Project - > Build Automatically。否则,类可能不会复制到Tomcat服务器。

希望这有助于某人。

我解决了这个问题,将Tomcat文件夹移动到C:然后在eclipse中重新安装服务器。这是一个权限问题,因为它之前在我的桌面文件夹中。

尝试使用Spring的web以下版本...

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>3.2.8.RELEASE</version> 
</dependency>