2012-06-20 2 views

답변

5

의미 상 올바르다면 <scope>provided</scope>을 제거하고 기본값 (<scope>compile</scope>)으로 두십시오. 그런 다음 종속성에 대해 <optional>true</optional>을 설정하면 매니페스트의 클래스 경로에 포함됩니다.

provided 범위를 사용하면 실제로 컨테이너에서 제공 한 것이므로 매니페스트의 클래스 경로에 있어야하는 것은 아닙니다.

+0

많은 감사합니다. Michal. EAR에서 위의 내용을 사용하고 있으며 EAR의 공유 라이브러리를 언급하고 있습니다. 항아리는 다운로드되지 않지만 공유 라이브러리 항아리는 참조되지 않습니다. 이것에 대해 저를 도울 수 있습니까? – sridhar

+0

죄송합니다, 지금 정말로 당신을 이해하지 못합니다. 어쩌면'A','B'' 및'C'를 사용하여 상황을 설명 할 수 있습니까?하지만 각각의 패키지가 무엇인지, 의존성을 어떻게 보이는지 말하십시오. –

+0

물론입니다. 나는 설명 할 것이다. 혼란스러워서 미안 .. 미할. 나는 Maven을 사용하고있다. 패키징 유형이 EJB 인 아티팩트 A가 있습니다. 나는 EAR을 포장하는 유물 B를 가지고있다. 아티펙트 B에서 WAR 공유 라이브러리 참조를 사용하고 있습니다. 이 아티팩트 A에서 컴파일되었습니다. 필요한 jar 파일이 공유 라이브러리에 있기 때문에 컴파일합니다. 귀하의 도움으로, EJB 모듈의 MANIFEST의 클래스 경로에 jar 이름을 추가했지만 EAR 파일을 배치 할 때 classNotFound 예외가 발생합니다. 이것은 직면 한 문제입니다. – sridhar

관련 문제