6

Spring MVC プロジェクトである私のプロジェクトでいくつかの問題に直面しています。このプロジェクトでは、永続層に Hibernate を使用しています。

以下は私のweb.xml詳細です:

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/beanRefFactory.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

このプロジェクトを実行しようとすると、次のエラーが発生します。

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

これが私のクラスパスjarの詳細です:

<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/ant-1.6.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/ant-antlr-1.6.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/antlr-2.7.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/aopalliance-1.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/asm-attrs.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/asm.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/aspectjweaver-1.6.9.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/c3p0-0.9.1.2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/c3p0-0.9.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/cglib-2.1.3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/cglib-2.2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/cglib-nodep-2.2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/commons-collections-3.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/commons-collections-3.2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/commons-dbcp-1.4.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/commons-pool-1.5.3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/dom4j-1.6.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/ehcache-1.2.3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/ejb3-persistence.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/hibernate-annotations.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/hibernate-commons-annotations.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/hibernate-entitymanager.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/hibernate-search.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/hibernate-validator.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/hibernate3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/javassist-3.9.0.GA.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/jta-1.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/jta.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/lucene-core-2.3.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate/oscache-2.4.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/antlr-runtime-3.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/commons-beanutils-1.8.3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/commons-configuration-1.4.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/commons-logging-1.0.4.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/jstl.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.asm-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.beans-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.context-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.context.support-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.core-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.expression-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.jdbc-3.1.1.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.transaction-3.1.1.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.web-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/org.springframework.web.servlet-3.0.0.M3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/slf4j-api-1.6.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/slf4j-log4j12-1.6.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/spring-orm-3.2.0.M1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/spring-oxm-3.2.0.M1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring/standard.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/misslenious/mysql-connector-java-5.1.8-bin.jar"/>

ポインタやヘルプは非常に価値があります。前もって感謝します。

4

4 に答える 4

1

このクラスを含むクラスパスに spring-web jar (spring-web-3.2.0.M2.jar) がありません。

于 2012-09-13T22:48:12.513 に答える
0

「spring web.jar」の別のバージョンで試してください。

于 2014-05-24T14:23:47.273 に答える
0

ContextLoaderListenerは、Spring を Web アプリケーションと統合するために使用されます。

ClassNotFoundException 例外を解決するには、以下の手順を実行します。

  1. (spring-web.jar) spring-web-3.2.0.RELEASE.jar のクラスパスを確認し ます (Spring 3.x で実行している場合、Spring Spring 2.0 の場合はクラスパスに spring.jar を追加します)
  2. Eclipse と Maven を使用している場合は、すべての依存関係がビルド パスに正しく含まれていることを確認してください。(Javaビルドパスを確認してください)

  3. 「クリーン」を選択してサーバーをクリーニングします。

次に、プロジェクトを実行してみます。

それでも問題が発生し、maven ベースのプロジェクトを使用している場合は、以下の手順を試してください。

1. 親プロジェクトで maven-compiler-plugin を宣言する必要があります

<build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>

コンパイルされたクラスがターゲット (1.6) バージョンと互換性があることを確認してください。

  1. 含まれるプロジェクトの依存関係が競合する場合があるため、競合を解決するには、次のコマンドを実行します。

    mvn 依存関係:tree -Dverbose -Dincludes=commons-collections

于 2014-05-05T05:21:20.503 に答える