2009-12-24 4 views
1

EAR/lib 내에 jar 파일을 패키지로 만들면 모두 정상적으로 작동하지만이 접근 방법을 사용할 수 없으며 파일 시스템에서 참조해야합니다 (어쩌면 절대/상대 경로 사용).) 또한 시스템 클래스 경로 (conf/jboss-service.xml 사용)에 jar를 추가하는 것은 옵션이 아닙니다.JBoss 5 응용 프로그램에서 EAR 구조 외부의 jar 파일에 액세스 할 수 있습니까

는 이미 정의한 범위 수있는 방법이 EAR 구조 외부에서 라이브러리에 액세스 할 수있는 응용 프로그램의 범위 클래스 로더 있습니까 JBoss에 app.xml

에서 앱 로더 - 저장소를 사용하여 클래스 로딩?

답변

1

기술적으로, 적어도 JBoss 4.2에서는, 그리고 운이 좋으면 5에서도 작동합니다.

이는 JBoss의 EARDeployer 파일이 application.xml 파일의 각 라이브러리 경로를 읽을 때 분해 된 EAR의 기본 디렉토리와 관련된 경로를 분석한다는 점을 이용합니다. 적절한 수의 ../ 항목이있는 상대 경로를 입력하면 경로는 EAR이 배포 된 위치와 관련된 경로로 이동할 수있는 한 원하는 파일 시스템의 어느 위치로든 해결됩니다 (즉, 창에서 동일한 드라이브에 있어야 함).

비록 이것이 이 아니고 표준 동작이며, 다른 버전의 JBoss간에 작동하는 것을 보장하지 않습니다.

+0

감사합니다. 그러나 이것은 효과가없는 것 같습니다. 상대 경로가 EAR 구조 내에있는 한 그것은 작동합니다. 그러나 경로가 외부 항아리로 연결되면 실패합니다. – Shreeni

+0

'application.xml'의 내용을 질문에 추가 할 수 있습니까? – skaffman

+0

<애플리케이션 ID ="APPLICATION_ID "> \t <표시 이름> FindingNemoEar \t <모듈 ID ="WebModule_1158763557391 "> \t \t \t \t \t FindingNemoEarWeb.war \t \t \t <컨텍스트 루트> FindingNemo \t \t \t \t \t \t ../../abc.jar \t Shreeni