2009-01-16 2 views
6

인증을위한 JAR 파일이 있습니다. 각 WAR 파일에 대해 필요합니다. 모든 WAR 파일은 EAR 파일로 패키지됩니다. 모든 WAR에서이 공통 JAR을 반복해야합니까, 아니면 공통 라이브러리를위한 구조가 있습니까?EAR에서 일반적인 JAR을 WAR 전체에서 반복해야합니까?

그래서 내 예 common1.jar을 볼 수 있습니다 ...

big.ear 
    - META-INF 
    - MANIFEST.MF 
    - application.xml 
    - appl1.war 
    - META-INF 
     - MANIFEST.MF 
    - WEB-INF 
     - web.xml 
     - lib 
     - unique1.jar 
     - unique2.jar 
     - unique3.jar 
     - common1.jar 
    - jsps/html/etc 
    - appl2.war 
    - META-INF 
     - MANIFEST.MF 
    - WEB-INF 
     - web.xml 
     - lib 
     - unique3.jar 
     - unique4.jar 
     - common1.jar 
    - jsps/html/etc 
    - appl3.war 
    - META-INF 
     - MANIFEST.MF 
    - WEB-INF 
     - web.xml 
     - lib 
     - unique5.jar 
     - common1.jar 
    - jsps/html/etc 

내 WAR 응용 프로그램의 각을 다음과 같이 보입니다, 그러나 EAR에 세 번입니다.

EAR 구조에서 appl1, appl2 및 appl3이 세 번 반복하지 않고 볼 수 있도록 common1.jar를 넣을 수 있습니까?

답변

6

표준 방법은 JAR 파일을 EAR의 루트에두고 WAR의 의 Class-Path 속성에서 참조하는 것입니다. this article을 참조하십시오.

컨테이너 설명서를 참조하여 지원되는지 확인하십시오.

+0

그것을 들여다 보면. – dacracot

+0

현재 링크가 작동하지 않습니다. – Prince

-4

응용 프로그램 서버에는 shared/lib와 같은 폴더가 있어야합니다.이 폴더에는 동일한 인스턴스의 여러 웹 응용 프로그램에서 공유 할 수있는 jar 파일을 넣을 수 있습니다.

+0

이것은 아마도 효과가 있지만 좋지 않은 것으로 생각됩니다. EAR은 자체 포함되어야합니다. – dacracot

+1

확실히 나쁜 습관입니다. 이 병을 업그레이드 하시겠습니까? 배포를 통해 이러한 작업을 수행 할 수 있어야하며 서버 설정을 변경할 필요가 없습니다. – cynicalman

1

이 장 EE 8.2.1의 JEE5 사양에있어 : ​​

.ear 파일이 JAR 파일에 패키지 라이브러리를 포함하는 디렉토리를 포함 할 수있다. .ear 파일의 배치 설명자의 library-directory 요소에는이 디렉토리의 이름이 들어 있습니다. library-directory 요소가 지정되지 않았거나 .ear 파일에 에 배포 설명자가없는 경우 lib이라는 디렉터리는 입니다.

관련 문제