user3336302
user3336302

Reputation: 21

java.lang.NoClassDefFoundError: org/restlet/engine/http/ServerCall

I am trying to write a web service in Restlet and i have included jars listed below; 1. json-simple-1.1 2. log4j-1.2.16 3. org.json-20120521 4. org.restlet.ext.fileupload 5. org.restlet.ext.json 6. org.restlet.ext.servlet 7. org.restlet.ext.xml 8. org.restlet 9. servlet-api

when i run this web services in tomcat 6 and hit the url into browser i get exception telling that:

 javax.servlet.ServletException: Error instantiating servlet class       
    org.restlet.ext.servlet.ServerServlet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protoc        ol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)
   root cause

java.lang.NoClassDefFoundError: org/restlet/engine/http/ServerCall
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)

root cause

   java.lang.ClassNotFoundException: org.restlet.engine.http.ServerCall
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)




 Even though the jar is present and my web.xml code as follows:

  <?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_2_5.xsd"
    id="WebApp_ID" version="2.5">

<display-name>RestletDemo</display-name>


<servlet>
    <servlet-name>RestletServlet</servlet-name>
    <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
    <init-param>
        <param-name>org.restlet.application</param-name>
        <param-value>com.aris.demo.application.RestletApplication</param-alue>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>RestletServlet</servlet-name>
    <url-pattern>/service/*</url-pattern>
</servlet-mapping>




 </web-app>

Please help me.. Thanx in advance

Upvotes: 2

Views: 3722

Answers (2)

kkjava
kkjava

Reputation: 96

I guess I have caught your problem.

You went to restlet site and downloaded the restlet distribution as it comes in the page. Now you need to revisit the site again and you will see you have downloaded default J2SE version of Restlet distribution.

Please choose second option J2EE from the drop-down and download.

Now you will get everything including org.restlet.jar and org.restlet.ext.servlet.jar you look for.

Place WEB-INF lib, restart server and life is happy now.

Upvotes: 6

anirudh
anirudh

Reputation: 4176

Please make sure you copy the jar files to the WEB-INF/lib folder in the web application project.

Upvotes: 0

Related Questions