2014-03-19 2 views
0

저는 자체 ejbs 및 jsf 웹 페이지가있는 별도의 웹 하위 모듈로 성장하고있는 웹 응용 프로그램 프로젝트를 보유하고 있습니다.ejb 3.1 및 jsf 페이지가 포함 된 종속 항아리

프로젝트 구조는 다음과 같습니다.

  • 부모 프로젝트
  • 공통 모듈
  • 크레딧 카드 모듈
  • bankpayment 모듈
  • 일부-더 지불-모듈 ...
  • 전쟁 모듈

공통 모듈을 제외한 각 모듈에는 고유 한 ejbs 및 jsf 페이지가 있습니다.

가능한 경우 각 모듈을 독립형 전쟁으로 설정하고 war 모듈로 큰 전쟁을 수행해야합니다.

편집 서로 다른 사업 단위는 단지 패키지로 구분됩니다

war module -- 
      --| persistenceunit | 
      --| entities | 
      --| ejbs | 
      --| cdi managed beans | 
      --| controllers | 
      --| jsf-pages | 
      --| resources | 

프로젝트의

현재 구조. 이제 서로 다른 비즈니스 단위를 따로 따로 버전화 할 수 있어야합니다. 즉 각각에 대해 서로 다른 mvn 프로젝트를 버전화 할 수 있어야합니다.

구조 달성하기 :

Common module -- 
       --| persistenceunit | 
       --| dao helpers | 
       --| common ejb services | 
       --| common managed beans |     
       --| jsf-templates | 
       --| common resources | 
Creditcard module -- 
       --| related entities | 
       --| ejb services | 
       --| related managed beans |     
       --| jsf-pages | 
       --| specific resources | 

및 기타 비즈니스 모듈 같은, 또한 하나 개의 마스터 전쟁/귀 모듈을 모든 전쟁을 포함 할 수 있습니다.

중요 : 퍼시스턴스 유닛을 공유 할 수 있습니까? cdi는 모듈 전체에서 작동합니까 (결국 단일 귀/전쟁입니까?).

본질적으로 아이디어는 순전히 기술적 인 계층이 아닌 비즈니스 요구에 따라 프로젝트를 모듈화하는 것입니다.

maven에서 어떻게해야합니까?

답변

1

당신은 메이븐 웹 오버레이를 사용하여 원하는 것을 달성 할 수 있습니다 : 그들은 당신이 웹 리소스 소스 파일과 클래스 패스 리소스가 항아리를 통해 전파 방법과 유사 종속성을 통해 프로젝트를 통해 전파하자

http://maven.apache.org/plugins/maven-war-plugin/overlays.html

을 파일 및 의존성을 통해 전쟁 파일에.

+0

나는 그것을 또한보실 것입니다. – rangalo

+0

안녕하세요, 오버레이가 재미있을 것 같아요.하지만 시도해 보았지만 마스터 전쟁에 포함 된 2 개의 전쟁으로 오버레이가 생기 자마자 내 모든 뒷받침 콩이 주사되지 않았습니다. 나는 "대상 ureachable"오류 – rangalo

+0

내가 마스터 전쟁에 overlayed 전쟁에있는 경우 잘 작동합니다. – rangalo

0

당신은 사용 엔터프라이즈 아카이브 (.ear 파일)을 만들 수 있습니다 Apache Maven EAR Plugin :

자바 EE 애플리케이션 엔터프라이즈 아카이브 (EAR) 파일, 표준 Java 아카이브 (JAR)에 전달된다 .ear 확장자를 가진 파일. EAR 파일 및 모듈을 사용하면 동일한 구성 요소 중 일부를 사용하여 여러 가지 Java EE 응용 프로그램을 여러 개의 어셈블 할 수 있습니다. 아니오 추가 코딩이 필요합니다. 다양한 Java EE 모듈을 Java EE EAR 파일에 어셈블하는 것 (또는 패키징) 일뿐입니다. (출처 : Java EE 5 docs)

포장 과 새 모듈을 만듭니다. Usemaven-ear-plugin, configure the modules 함께 조립하고 싶습니다.

+0

다른 모듈은 무엇입니까? 전쟁, 항아리 또는 항아리 항아리? 나는 공통 ejbs와 공통 jsf 페이지를 포함시키고 자한다. – rangalo

+0

나는 ejbs가 jar 일 것이고 ejbModule로 설정되었다고 말할 것이다. _Common_ jsf pages에 대해 확신 할 수 없습니다. 아마도 다른 전쟁의 항아리일까요? – Behe

+0

일부 모듈에는 jsf 페이지뿐만 아니라 ejbs도 포함됩니다. 그들에 대해서? ejbModule (jar)에 jsf 페이지가있을 수 있습니까? 그렇다면 어떻게? – rangalo