0

我有一个使用 struts2 和 spring 3 的 Web 应用程序。为了配置 spring,我使用 eclipse 和 tomcat 中的构建路径在项目中添加了所需的库。我也在 web.xml 中添加了监听器,但是当我想运行应用程序时,会出现此错误:严重:配置类 org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web 的应用程序监听器时出错.context.ContextLoaderListener 我用谷歌搜索太多但什么也没发生..有人告诉我一定要在应用程序库和 tomacat 中添加 spring-web.jar,但没有任何变化..请帮忙

类路径:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="con"    path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre6">
    <attributes>
        <attribute name="owner.project.facets" value="java"/>
    </attributes>
</classpathentry>
<classpathentry exported="true" kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0">
    <attributes>
        <attribute name="owner.project.facets" value="jst.web"/>
    </attributes>
</classpathentry>
<classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/hibernate"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/antlr-2.7.6.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/asm-attrs.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/asm.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/cglib-2.1.3.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils-1.8.2.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-collections-3.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-collections-3.2.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-digester-2.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-fileupload-1.2.2.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-logging-1.0.4.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-logging-1.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/commons-logging.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/DateConverter.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/dom4j-1.6.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/ejb3-persistence.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/freemarker-2.3.13.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/groovy-all-1.7.5.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/hibernate-annotations.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/hibernate-commons-annotations.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/hibernate-validator.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/hibernate3.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/hsqldb.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/imaging.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/iText-2.1.7.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/jasperreports-4.5.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/javassist-3.9.0.GA.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/jdt-compiler-3.1.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/jstl-1.2.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/jta-1.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/junit-3.8.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/log4j-1.2.15.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/ocrs12.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/ognl-2.6.11.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/orai18n.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/simplecaptcha-1.1.1.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/slf4j-api-1.5.8.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/slf4j-log4j12-1.5.8.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/sqljdbc4.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/standard.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/struts2-core-2.1.6.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/struts2-fullhibernatecore-plugin-1.4-GA.jar"/>
<classpathentry exported="true" kind="lib" path="WebContent/WEB-INF/lib/xwork-2.1.2.jar"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/spring"/>
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>

4

3 回答 3

1

org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException 当 eclipse 不正确地将应用程序发布到 tomcat 服务器时,我经常遇到这个问题(这经常发生在我一天中第一次启动 eclipse 或在一些更大的 svn checkout 之后)

在我的情况下,它有助于执行一系列操作(并始终等待下一步,直到前一步完成!)

  • 首先刷新项目(F5),然后
  • 有一个干净的项目构建(项目/清洁),
  • 再次刷新项目 (F5),然后
  • 清理服务器
  • 将项目发布到服务器
于 2013-02-03T12:18:54.510 回答
0

我建议使用 maven 而不是手动摆弄 eclipse 类路径,如果您可以这样做的话。以下是您可以遵循的简单步骤:

mvn archetype:generate -DgroupId=com.test -DartifactId=test -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

这将生成所需的 Maven 项目结构。然后编辑 pom.xml 文件,如下所示。

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>test</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>test Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <repositories>
    <repository>
      <id>java.net</id>
      <url>http://download.java.net/maven/2/</url>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>3.0.0.RELEASE</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.1.8</version>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate</artifactId>
      <version>3.2.7.ga</version>
    </dependency>
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.6.1</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.1</version>
    </dependency>
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>antlr</groupId>
      <artifactId>antlr</artifactId>
      <version>2.7.7</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>test</finalName>
  </build>
</project>

构建项目:

mvn clean package

并生成eclipse配置源文件:

mvn eclipse:eclipse -DdownloadSources=true

这些步骤足以创建项目结构,该结构在类路径中具有所需的库并附加了源代码。

最后,您可以在 Eclipse 中导入项目。

File > Import > General > Existing project into Workspace > Select the project directory

您可以从http://maven.apache.org/download.cgi下载并安装 maven

于 2013-02-03T12:49:55.170 回答
0

我看到你使用 eclipse wtp 插件来运行 web 应用程序,然后你可以在文件系统中找到扩展 web 应用程序,并检查 lib 目录有 spring.jar,你也可以看到这个我的应用程序没有看到 ContextLoaderListener

于 2013-02-05T02:02:46.963 回答