2014-08-29 3 views
0

방금 ​​RESTEasy 예제를 사용하려고하는데, 필요한 환경을 설정하는 데 문제가있는 것처럼 보입니다.RESTEasy, 오류 503 및 서블릿을 찾지 못했습니다.

이것은 내가 사용하고있는 간단한 예입니다 http://examples.javacodegeeks.com/enterprise-java/rest/resteasy/resteasy-hello-world-example/

대신 내가 이클립스와 함께 제공되는 지역 J2EE 미리보기 서버를 시작하려면 톰캣 서버의 사용에 대한 예제를 실행 (?).

2014-08-29 09:01:12.956:INFO:oejs.Server:jetty-8.1.14.v20131031 2014-08-29 09:01:13.141:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/JAXRS-RESTEasy,file:/home/myuser/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/JAXRS-RESTEasy/},/home/myuser/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/JAXRS-RESTEasy java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:80) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:67) at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:332) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1219) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.wst.server.preview.internal.PreviewStarter.run(PreviewStarter.java:72) at org.eclipse.wst.server.preview.internal.PreviewStarter.main(PreviewStarter.java:29) Caused by: java.lang.IllegalStateException: No such servlet: resteasy-servlet at org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:1322) at org.eclipse.jetty.servlet.ServletHandler.setServletMappings(ServletHandler.java:1416) at org.eclipse.jetty.servlet.ServletHandler.addServletMapping(ServletHandler.java:900) at org.eclipse.jetty.webapp.StandardDescriptorProcessor.addServletMapping(StandardDescriptorProcessor.java:1196) at org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitServletMapping(StandardDescriptorProcessor.java:639) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:80) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:67) at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:332) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1219) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.wst.server.preview.internal.PreviewStarter.run(PreviewStarter.java:72) at org.eclipse.wst.server.preview.internal.PreviewStarter.main(PreviewStarter.java:29) 2014-08-29 09:01:13.167:INFO:oejs.AbstractConnector:Started [email protected]:8084

내 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" 
    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>JAXRS-RESTEasy</display-name> 

    <servlet-mapping> 
     <servlet-name>resteasy-servlet</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

    <!-- Auto scan REST service --> 
    <context-param> 
     <param-name>resteasy.scan</param-name> 
     <param-value>true</param-value> 
    </context-param> 

    <!-- this should be the same URL pattern as the servlet-mapping property --> 
    <context-param> 
     <param-name>resteasy.servlet.mapping.prefix</param-name> 
     <param-value>/rest</param-value> 
    </context-param> 

    <listener> 
     <listener-class> 
      org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap 
      </listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>resteasy-servlet</servlet-name> 
     <servlet-class> 
      org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher 
     </servlet-class> 
    </servlet> 

</web-app> 

그리고 내 pom.xml 파일

:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.javacodegeeks.enterprise.rest.resteasy</groupId> 
    <artifactId>JAXRS-RESTEasy</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <repositories> 
    <repository> 
     <id>JBoss repository</id> 
     <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url> 
    </repository> 
    </repositories> 
    <dependencies> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>3.0.4.Final</version> 
    </dependency> 
    </dependencies> 
</project> 

코드 자체가, 비록에게 나는 생각하지 않는다

콘솔은 나에게 말한다 문제가 있습니다.

package com.javacodegeeks.enterprise.rest.resteasy; 

import javax.ws.rs.DefaultValue; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.QueryParam; 
import javax.ws.rs.core.Response; 

@Path("/RESTEasyHelloWorld") 
public class RESTEasyHelloWorldService { 

    @GET 
    @Path("/{pathParameter}") 
    public Response responseMsg(@PathParam("pathParameter") String pathParameter, 
      @DefaultValue("Nothing to say") @QueryParam("queryParamter") String queryParamter) { 
     String response = "Hello from: " + pathParameter + " : " + queryParamter; 

     return Response.status(200).entity(response).build(); 
    } 
} 

내 브라우저에서 전화를하려고하면 그냥 얻을 :

난 정말 URL의 형식은 어떻게해야 아직 모르는 나는이 다양한 URL을 시도했습니다

HTTP ERROR: 503

Problem accessing /JAXRS-RESTEasy/rest/RESTEasyHelloWorldService/. Reason:

Service Unavailable 

.

누락 된 서블릿 때문일까요? 왜 그것을 놓치고, Maven이 resteasy-jaxrs-3.0.4의 일부로 다운로드해서는 안됩니다. 최종 의존성?

누군가가 나에게 힌트를 줄 수 있기를 바라며, 어디에서 파기를 시작할 지 모릅니다.

편집 : 는 콘솔 내가 시도한 후 @Maleencs은 pom.xml 파일과의 web.xml :

Starting preview server on port 8084

Modules: JAXRS-RESTEasy (/JAXRS-RESTEasy)

2014-08-29 12:22:11.378:INFO:oejs.Server:jetty-8.1.14.v20131031 2014-08-29 12:22:11.656:WARN:oejw.StandardDescriptorProcessor:Could not instantiate listener org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:424) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377) at org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1528) at org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1839) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:80) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:67) at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:332) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1219) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.wst.server.preview.internal.PreviewStarter.run(PreviewStarter.java:72) at org.eclipse.wst.server.preview.internal.PreviewStarter.main(PreviewStarter.java:29) 2014-08-29 12:22:11.744:WARN:oejs.Holder: java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:424) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:100) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:79) at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:107) at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:298) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1221) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.wst.server.preview.internal.PreviewStarter.run(PreviewStarter.java:72) at org.eclipse.wst.server.preview.internal.PreviewStarter.main(PreviewStarter.java:29) 2014-08-29 12:22:11.746:WARN:/JAXRS-RESTEasy:unavailable javax.servlet.UnavailableException: org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:114) at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:298) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1221) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.wst.server.preview.internal.PreviewStarter.run(PreviewStarter.java:72) at org.eclipse.wst.server.preview.internal.PreviewStarter.main(PreviewStarter.java:29) 2014-08-29 12:22:11.747:WARN:oejuc.AbstractLifeCycle:FAILED resteasy-servlet: javax.servlet.UnavailableException: org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher javax.servlet.UnavailableException: org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:114) at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:298) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1221) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.wst.server.preview.internal.PreviewStarter.run(PreviewStarter.java:72) at org.eclipse.wst.server.preview.internal.PreviewStarter.main(PreviewStarter.java:29) 2014-08-29 12:22:11.748:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/JAXRS-RESTEasy,file:/home/myuser/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/JAXRS-RESTEasy/},/home/myuser/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/JAXRS-RESTEasy javax.servlet.UnavailableException: org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:114) at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:298) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1221) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.wst.server.preview.internal.PreviewStarter.run(PreviewStarter.java:72) at org.eclipse.wst.server.preview.internal.PreviewStarter.main(PreviewStarter.java:29) 2014-08-29 12:22:11.780:INFO:oejs.AbstractConnector:Started [email protected]:8084

+0

컨텍스트 매개 변수 resteasy.servlet.mapping.prefix없이 시도 할 수 있습니까? – asohun

+0

@asohun : 같은 결과입니다. – Feroc

+0

@Feroc - 여전히 web.xml에 리스너가 있습니까? 그렇다면 제거하십시오. 그렇지 않으면 http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0을 사용자에게 추가하십시오. –

답변

1

오류 코드 503 수단, 코드가 제대로 배치되지 않습니다. 즉, 배치가 불가능합니다.

문제의 원인은 무엇인지 분명하지 않습니다. 여기서 할 수있는 일은 작동 예제 코드 스 니펫을 제공하는 것입니다. 나는 작업 프로그램에서 이들을 추출했다. 따라서이 가이드를 사용하여 의견을 보내주십시오.

web.xml을

<context-param> 
    <param-name>resteasy.scan</param-name> 
    <param-value>true</param-value> 
</context-param> 

<servlet> 
    <servlet-name>resteasy-servlet</servlet-name> 
    <servlet-class> 
     org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher 
    </servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>resteasy-servlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

자바 코드

@Path("/payment") 
public class PaymentResource { 

@GET 
@Path("/test") 
@Produces("application/json") 
    public Response doPaymentTest() { 
     return Response.status(201).entity("success.").build(); 
    } 
} 

폼은 종속

<dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>2.3.1.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jackson-provider</artifactId> 
     <version>2.3.1.GA</version> 
    </dependency> 

편집 : 여기 내 github 프로젝트에 대한 링크가 있습니다. Mkyong도 goodexamples입니다.

+0

도움 주셔서 감사합니다. 내 pom.xml 및 web.xml의 부품을 교체했습니다. 하지만 콘솔에서 더 많은 오류가 발생합니다. 원래 게시물의 편집을 참조하십시오. – Feroc

관련 문제