2014-11-05 1 views
1

여기 왜 컴파일 resteasy의 범위이다의 pom.xml컨테이너 (JBOSS)가 제공하는 RestEasy의 범위가 pom.xml에서 컴파일되는 이유는 무엇입니까?

   <dependency> 
         <groupId>org.jboss.resteasy</groupId> 
         <artifactId>resteasy-jackson-provider</artifactId> 
       </dependency> 
       <dependency> 
         <groupId>javax.servlet</groupId> 
         <artifactId>servlet-api</artifactId> 
         <scope>provided</scope> 
       </dependency> 
       <dependency> 
         <groupId>org.jboss.spec</groupId> 
         <artifactId>jboss-javaee-all-5.0</artifactId> 
         <scope>provided</scope> 
       </dependency> 

의 중요한 부분이다하지만 javax.servlet의 제공 있다 (어느 것도 제공되지 디폴트는 임). 나는이 Jbossresteasy 함께 제공에 배포됩니다. 따라서 resteasy의 범위는 이 아니며도 제공해야합니까?

및 btw, 언급 된 버전이 없습니다. 따라서 기본 버전은 무엇입니까?

답변

3

jboss 7을 사용하는 경우 resteasy-jackson-provider가 포함되어 있으므로 제공된 범위를 사용하는 것이 옳습니다.

기본 버전이 귀하의 pom의 dependencyManagement 섹션에 선언 된 BOM에서 선택됩니다. 맞습니까?

이전 jboss 버전의 경우 resteasy가 포함되지 않으므로 WEB-INF/lib 디렉토리에 jar 파일을 추가해야합니다.

필요한 항아리는 (범위 컴파일) 또는 링크 http://www.mastertheboss.com/jboss-frameworks/resteasy/resteasy-tutorial

+0

jboss 5를 사용하고 있습니다. 필요하다고 생각하십니까? –

+0

예, jboss 5에는 resteasy jars가 포함되어 있지 않기 때문에 필요합니다. – mendieta

1

RESTEasy가 API를 확인 받는다는 사용하여 수득 할 수 있고, 실행은 보스의 새로운 버전에 의해 제공된다. 보통은 제이보스 AS7에 대한 예컨대는 dependencyManagaement 섹션에서 자바 EE-사양 치어를 가져 종속성 섹션에서 필요한 API를 추가

<dependencyManagement> 
    <dependency> 
    <groupId>org.jboss.spec</groupId> 
    <artifactId>jboss-javaee-6.0</artifactId> 
    <version>3.0.2.Final</version> 
    <type>pom</type> 
    <scope>import</scope> 
    </dependency> 
</dependencyManagement> 

<dependencies> 
    <dependency> 
    <groupId>org.jboss.spec.javax.ws.rs</groupId> 
    <artifactId>jboss-jaxrs-api_1.1_spec</artifactId> 
    <scope>provided</scope> 
    </dependency> 
</dependencies> 

런타임 클래스 경로에서 발견 된 JSON-공급자를 사용합니다. 따라서 프로젝트에 범위 compile을 추가하는 것이 좋습니다. Jettison을 사용하려면 다음을 추가하십시오.

<dependency> 
    <groupId>org.jboss.resteasy</groupId> 
    <artifactId>resteasy-jettison-provider</artifactId> 
</dependency> 

응용 프로그램 서버를 추가하지 않으면 기본 응용 프로그램 서버가 제공 될 수 있습니다. JBoss AS7/Wildfly는 클래스 패스에 공급자를 추가하지 않으면 resteasy-jackson-provider을 사용합니다. JBoss 5는 JAX-RS 라이브러리 as far as I know을 제공하지 않으므로 범위 compileresteasy-jackson-provider을 추가하는 것이 좋습니다.

+0

JBoss 5의 경우,'resteasy-jackson-provider'를 제공하지 않으므로'compile '범위를 추가하는 것으로 충분하다면 충분합니다. 배포 할 때 런타임 종속성 문제가 발생합니다. 또한 내가 포장 할 때'resteasy-jackson-provider jar'가 포함될 것인가? –

+0

예, resteasy-jackson-provider가 포함됩니다. 나는 당신이 런타임 의존성을 가질 것이라고 생각하지 않지만, 당신은 그것을 시험해야 할 것이다. jboss 5에 대한 resteasy config는 http://www.mastertheboss.com/jboss-frameworks/resteasy/resteasy-tutorial에서 찾을 수 있습니다. – mendieta

관련 문제