2012-10-25 2 views
1

인터페이스를 제공하는 EJB 클라이언트를 생성하는 Maven EJB 프로젝트를 만들고 싶습니다.Maven, EJB 및 Eclipse와의 작업

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-ejb-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <ejbVersion>3.1</ejbVersion> 
     <generateClient>true</generateClient> 
    </configuration> 
</plugin> 

두 개의 항아리가 target에 내장되어 있지만 이클립스에 내가 구현 및 인터페이스 모두에 대해 하나 개의 프로젝트를 : 내 POM이를 사용할 때

그것은 잘 작동합니다.

두 개의 별도 프로젝트를 Eclipse에서 만들고 싶습니다. 하나는 인터페이스 용이고 하나는 구현 용입니다 (Eclipse의 전통적인 방법으로 Maven없이 EJB 프로젝트를 만들 때). 어떻게해야합니까?

+0

Maven 프로젝트를 Eclipse로 어떻게 가져 왔습니까? M2E 또는'mvn eclipse : eclipse'를 사용하고 있습니까, 아니면 ...? –

+0

@Duncan : 저는 M2E를 사용합니다. –

답변

1

글쎄, 나는 받는다는 - 원형 - 퀵 스타트 원형, EJB 구현 (EJB-IMPL)에 대한 하나의 EJB 클라이언트에 대한 하나의 EJB (클라이언트)를 기반으로 이클립스 2 개 메이븐 프로젝트에서 M2E 건물에 의해 성공했다.

ejb-impl에서는 패키징을 ejb으로 선택하고 ejb-client에서는 jar 패키징을 선택합니다.

maven-ejb-plugin plugin을 사용하여 ejb-impl에서 ejb를 생성하고 generateClient 옵션을 사용하지 않습니다. 기본값은 이미 false로 설정되어 있습니다.

필자는 ejb-impl, ejb-client 및 war 모듈 (jsf)에서 귀를 생성하기 위해 maven-ear-plugin을 사용합니다. jarModule을 사용하여 ejb-client를 포함 시키므로 ear 파일에 lib 디렉토리 아래에 패키지되어 있으므로 manifest 나 다른 것을 수정할 필요가 없습니다. ejb-client는 쉽게 다른 모듈에 도달 할 수 있습니다.

그래서 Maven을 사용하면 구현이 아닌 EJB의 인터페이스 메소드 만 사용하거나 배포 할 수 있으며 중복 코드가 없습니다.