web-dev-qa-db-ja.com

java.lang.ClassNotFoundException:org.springframework.web.servlet.DispatcherServletエラー

なぜこのエラーが発生するのかわかりません。ここには同様の質問がたくさんありますが、今のところ私のために働いたものはありません。

私のツタファイルは

<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="http://ant.Apache.org/ivy/schemas/ivy.xsd">
    <info
        organisation=""
        module="knoxWeb"
        status="integration">
    </info>

    <dependencies>
        <dependency org="org.springframework" name="spring-core" rev="4.0.3.RELEASE"/>
        <dependency org="org.springframework" name="spring-context" rev="4.0.3.RELEASE"/>
        <dependency org="org.springframework" name="spring-web" rev="4.0.3.RELEASE"/>
        <dependency org="org.springframework" name="spring-webmvc" rev="4.0.3.RELEASE"/>
        <dependency org="org.springframework" name="spring-beans" rev="4.0.3.RELEASE"/>
    </dependencies>
</ivy-module>

私のweb.xmlは

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://Java.Sun.com/xml/ns/javaee" xmlns:web="http://Java.Sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://Java.Sun.com/xml/ns/javaee http://Java.Sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Knox Web Interface</display-name>

    <servlet>
    <servlet-name>action</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
   </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

ツタを解消しました。まだエラーが発生します。また、Eclipseでクラスを確認できます。

enter image description here

私は本当にこれで立ち往生しています。任意の助けや提案をいただければ幸いです。

PS:< dependency org="org.springframework" name="spring" rev="2.5.6"/>も追加してみましたが、ivyは解決しません。私は得る

Some projects fail to be resolved
Impossible to resolve dependencies of #TestWebProject;working@BLT430LT3201C
download failed: com.Oracle.toplink#toplink;10.1.3!toplink.jar
unresolved dependency: com.Oracle#oc4j;1.0: not found
unresolved dependency: com.Oracle#toplink-essentials;2.41: not found
unresolved dependency: javax.ejb#ejb;3.0: not found
download failed: com.bea.wlplatform#commonj-twm;1.1!commonj-twm.jar
unresolved dependency: jexcelapi#jxl;2.6.6: not found
download failed: javax.jms#jms;1.1!jms.jar
download failed: javax.faces#jsf-api;1.1!jsf-api.jar
download failed: javax.resource#connector;1.0!connector.jar

これが上記の問題と関係があるかどうかは不明です。すべての依存関係情報について http://mvnrepository.com/artifact/org.springframework を検索しています。

私のプロジェクト構造は

enter image description here

WEB-INF/libディレクトリが空です。

ソース: http://opensourceforgeeks.blogspot.in/2014/05/javalangclassnotfoundexception.html

6
Aniket Thakur

貴重なコメントをありがとうございました。大丈夫。 JARファイルはWEB-INF/libにある必要があります。あるいは、WEB-INF/libだけではなく、追加の場所でjarを検索できることをEclipseに伝えることができます。

どうすればよいですか?

  • プロジェクトを右クリックして、プロパティを選択します。次に、Deployment Assemblyに進みます。

enter image description here

  • 追加を選択し、Javaビルドパスエントリを選択します。

enter image description here

  • Ivyオプションが自動的に入力されます。それを選択します。

enter image description here

  • これで完了です。[適用]を選択して[OK]をクリックします。 Classnotfound例外が消えます。

enter image description here

23
Aniket Thakur