2016-12-28 1 views
0

JBoss EAP 6.2에 JAX-RS 응용 프로그램을 배포하려고합니다. 내 web.xml은 다음과 같습니다.JBoss에 RESTEasy JAX-RS 응용 프로그램을 배포하는 중 - JBAS018040 : 컨텍스트를 시작하지 못했습니다.

<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>/jax-rs/*</url-pattern> 
</servlet-mapping> 


<context-param> 
    <param-name>resteasy.servlet.mapping.prefix</param-name> 
    <param-value>/jax-rs</param-value> 
</context-param> 

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

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

& hellip; 배포 종속성으로 다음을 포함합니다.

<dependency org="org.jboss.resteasy" name="resteasy-jaxrs" rev="3.0.5.Final"/> 

& hellip; [org.jboss.msc 42537 ERROR : 그러나

WEB-INF/lib/resteasy-jaxrs-3.0.5.Final.jar 

, 나는 다음과 같은 추적 얻을 보스에 WAR 배포 :

14 : 32 그래서 난 내 WAR에 다음 JAR이 .service.fail] (ServerService 스레드 풀 - 316) MSC000001 : 서비스 jboss.web.deployment.default-host./search-rest : 서비스 jboss.web.deployment의 org.jboss.msc.service.StartException 서비스를 시작하지 못했습니다. .default-host./search-rest : 익명 서비스의 org.jboss.msc.service.StartException : JBAS018040 : 컨텍스트를 시작하지 못했습니다. at org.jboss.as.web.deployment.WebDeploymentService $ 1.run (WebDeploymentService.java : 96) java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) [rt.jar : 1.8.0_111] at java.util.concurrent.FutureTask.run (FutureTask.java:266) [rt. jar : 1.8.0_111] at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) [rt.jar : 1.8.0_111] at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java : 617) [rt.jar : 1.8.0_111] at java.lang.Thread.run (Thread.java:745) [rt.jar : 1.8.0_111] at org.jboss.threads.JBossThread.run (JBossThread 된 .java : 익명 서비스 org.jboss.msc.service.StartException : 122)

에 의한 JBAS018040 : org.jboss.as.web.deployment.WebDeploymentService.doStart에서 컨텍스트 을 시작하지 못했습니다 (웹 DeploymentService.java:161) at org.jboss.as.web.deployment.WebDeploymentService.access $ 000 (WebDeploymentService.java:60) at org.jboss.as.web.deployment.WebDeploymentService $ 1.run (WebDeploymentService.java : 93) ... 6 더 많은

무슨 일이 벌어지고 있으며 어떻게 디버깅 할 수 있습니까?

답변

0

확인, 범인은 다음 항아리 그래서 : 그 의존성을 제거하면

WEB-INF/lib/resteasy-jaxrs-3.0.5.Final.jar 

, 그것은했다. RESTEasy는 JBoss EAP에 번들되어 있으므로 WAR의 WEB-INF/lib에 배치 할 필요가 없습니다.

또한, 나는 내 web.xml에서 그 다음의 요소를 발견 :

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

중 & hellip을; 필요가 없습니다. 모든 것은 그것 없이도 작동합니다.

마지막으로 스캐너 요소를 제거하고 작동하는 추가 구성 :

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

중 & hellip을; 이 경우에는 javax.ws.rs.core를 제공해야합니다.응용 프로그램 하위 클래스 :

import java.util.Set; 
import java.util.HashSet; 

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 

public class JaxRsApplication extends Application { 

private Set<Object> singletons = new HashSet<Object>(); 

public JaxRsApplication() { 
    singletons.add(new SearchResource()); 
} 

@Override 
public Set<Object> getSingletons() { 
    return singletons;   
} 
} 

& hellip; RESTEasy 서블릿에 등록하십시오.

<servlet> 
    <servlet-name>resteasy-servlet</servlet-name> 
    <servlet-class> 
     org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher 
    </servlet-class> 
    <init-param> 
     <param-name>javax.ws.rs.Application</param-name> 
     <param-value>mjb44.searchapp.rest.JaxRsApplication</param-value> 
    </init-param> 
</servlet> 
관련 문제