java.lang.NoClassDefFoundError:javax / servlet / ServletContextListener错误

时间:2014-08-07 11:03:40

标签: java spring hibernate

我在struts1 spring和hibernate集成中的动态Web应用程序是在64位机器上开发的。它在64位机器上运行正常但在32位机器上出现jar问题它给出了以下错误

    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)

    SEVERE: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener
java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
    at java.lang.ClassLoader.findBootstrapClass(Native Method)

我应该更换32位机器的所有罐子吗?

2 个答案:

答案 0 :(得分:2)

当我尝试编译一个没有servlet依赖的项目时,我有一些类似的问题,如果你使用maven将javax.servlet放在pom.xml中

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
</dependency>

如果您知道版本目标并且范围是提供,您可以将版本更改为另一个版本,因为可能您将使用tomcat或其他类型的服务器,其中已包含实现

或者,如果你不使用maven,你可以下载.jar并添加到你的项目的lib文件夹

答案 1 :(得分:0)

您在运行时只在类路径中没有Spring(全部或部分)。当您尝试加载应用程序时,似乎Log4jConfigListener是引用的第一个类。注意将所有需要的jar文件复制到WEB-INF/lib目录。