2011-09-12 2 views
1

귀에 싸인 전쟁이 가능한지 묻고 싶습니다. 전쟁 파일에 포장되어 있지 않은 라이브러리를 사용하고 싶습니다. 라이브러리가있는 파일 시스템에 디렉토리가 있고 배포 된 war 파일은이 디렉토리에서 라이브러리를로드합니다. 나는 이것을 어떻게하는지 예제를 발견하지 못했다. 그래서 배포 된 전쟁에 사용 된 모든 라이브러리를 war 파일의 lib 디렉토리에 압축해야하는지 묻습니다.EAR 동적 라이브러리

+0

사용중인 응용 프로그램 서버는 무엇입니까? – Kal

+0

EAR에 직접 lib를 넣거나'tomcat/lib'와 같은 공유 클래스 패스를 사용할 수 있습니다. – home

+0

@Kal WebSphere를 사용하고 있습니다. 외부 귀에는 전쟁에 클래스 패스를 넣을 기회가 없기 때문에 애플리케이션 서버에서 공유 클래스 경로 만 설정할 수 있습니까? – HPCS

답변

4

글쎄, 응용 프로그램 서버에 따라 일부 로컬 디렉토리를 클래스 경로의 일부로 선언하는 일부 구성 (응용 프로그램 서버)을 추가 할 수 있습니다. 이렇게하면 해당 디렉토리에있는 jar 파일을 해당 응용 프로그램 서버의 전개 된 응용 프로그램 (전쟁)에 사용할 수 있습니다. 당신이 [tomcatDIr] \ conf의 \의 catalina.properties을 편집하고 server.loader 속성에 추가하고 외부 라이브러리를 유지 싶어 디렉터리의 전체 경로를 shared.loader 바람둥이에 대한

:

여기에 몇 가지 빠른 예입니다

server.loader = $ {가리키는 catalina.home}/서버/클래스, $ {가리키는 catalina.home}/서버/lib 디렉토리/* 항아리, C :./BLA/myExternalLibsDir

shared.loader = $ { catalina.home}/server/classes, $ {catalina.home}/server/lib/*. jar, c :/bla/myExternalLibsDir

보스를 들어, 당신은 단순히 보스 클래스 경로를 설정하는 라인을 찾아, \ 빈 [jbossDir]에있는 run.bat를 파일을 편집하고 값이 디렉토리의에 추가 할 수 있습니다

세트 JBOSS_CLASSPATH = % RUN_CLASSPATH % ; c :/bla/myExternalLibsDir