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

Я пытаюсь написать веб-сервис в Restlet, и я включил банки, перечисленные ниже; 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

Когда я запускаю этот веб-сервис в Tomcat 6 и нажимаю URL-адрес в браузере, я получаю исключение, сообщающее, что:

 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)

первопричина

   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>

Пожалуйста, помогите мне.. Спасибо заранее

2 ответа

Я думаю, я поймал вашу проблему.

Вы зашли на сайт рестлета и загрузили дистрибутив рестлета, как он появляется на странице. Теперь вам нужно снова зайти на сайт, и вы увидите, что вы загрузили J2SE-версию дистрибутива Restlet по умолчанию.

Пожалуйста, выберите второй вариант J2EE из выпадающего списка и загрузите.

Теперь вы получите все, включая org.restlet.jar а также org.restlet.ext.servlet.jar ты ищешь.

Место WEB-INF lib, перезагрузите сервер, и жизнь теперь счастлива.

Пожалуйста, убедитесь, что вы скопировали файлы JAR на WEB-INF/lib папка в проекте веб-приложения.

Другие вопросы по тегам