Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet error

Not sure why am I getting this error. Lots of similar questions here but none have worked for me till now.

My ivy file is

<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>

and my web.xml is

<?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>

I have resolved ivy. Still getting the error. Also i can see the Class in my eclipse.

enter image description here

I am really stuck at this. Any help or suggestion is appreciated.

PS : I also tried adding < dependency org="org.springframework" name="spring" rev="2.5.6"/> but ivy does not resolve. I get

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

Not sure if this has anything to do with above problem. I am searching http://mvnrepository.com/artifact/org.springframework for all dependency info.

My project structure is

enter image description here

WEB-INF/lib directory is empty.

Source : http://opensourceforgeeks.blogspot.in/2014/05/javalangclassnotfoundexception.html

like image 520
Aniket Thakur Avatar asked May 20 '14 16:05

Aniket Thakur


1 Answers

Thanks a lot guys for your valuable comments. You are all right. Jar files must be in WEB-INF/lib. Or you can tell Eclipse that it can find the jars in additional location and not just WEB-INF/lib.

How do we do that?

  • Right click the project and select properties. Now go to Deployment Assembly.

enter image description here

  • Now select Add and select Java build path entries.

enter image description here

  • Ivy option is automatically populated. Select that.

enter image description here

  • And you are done.Select Apply and ok. Classnotfound Exception vanishes.

enter image description here

like image 181
Aniket Thakur Avatar answered Sep 23 '22 08:09

Aniket Thakur