2014-02-13 3 views
0

하나의 프로젝트가 모든 프로젝트에 공통 인 포틀릿을 포함하는 애플리케이션이 있습니다. 공용 프로젝트에서 공유 라이브러리가 있고 웹 스피어에서 같은 것을 구성했습니다.Websphere의 공유 라이브러리 종속성 제거

새로운 요구 사항은 공유 라이브러리 종속성을 제거해야하며 프로젝트 자체 내에 모든 라이브러리를 포함해야한다는 것입니다. 하지만 그렇게 할 때 공통 프로젝트가 diff JVM 및 다른 모든 프로젝트를 diff 하나에서 실행 중이므로 올바른 ClassCastException을 얻고 있습니다.

"옵션 패키지 설치"방식을 시도했지만 헛된 일입니다.

문제를 해결할 수있는 방법이 있습니까? 어떤 아이디어라도 앞으로 나아갈 수 있습니다.

답변

0

공용 프로젝트가 공유 클래스, 비공유 클래스 및 리소스와 섞여 있다면 공통 클래스를 별도의 jar으로 분리하십시오. 그런 다음 포틀릿이 포함 된 웹 프로젝트의 WEB-INF/lib 폴더에 jar을 라이브러리로 포함하십시오. 일부 예제 구조는 here입니다.

웹 프로젝트가 여러 개 있고 모두 ear 내에 있으면 jarear 파일에 배치 할 수 있습니다. 이 솔루션을 사용하려면 jar을 액세스해야하는 ear 내의 모든 모듈에 대한 클래스 경로에 추가해야합니다. 항아리에 액세스해야하는 모듈에 대해 디렉토리 아래에있는 MANIFEST.MF 파일을 업데이트해야합니다.

+0

답장을 보내 주셔서 감사합니다. 공통 프로젝트는 또한 웹 프로젝트입니다. – sriesow

+0

하지만 공유 라이브러리에는 무엇이 있습니까? 공통 프로젝트의 수업 만 있습니까? 아니면 공통 프로젝트의 모든 것을 포함합니까? – DanielBarbarian

+0

jar 및 일부 포틀릿 사용자 정의 jar로 컴파일 된 클래스 만. – sriesow