4
scope의 "제공된"pom 파일의 의존성을 사용하고 있습니다. "제공된"범위로 인해 이러한 종속성 병은 MANIFEST.MF의 클래스 경로에 추가되지 않습니다.scope "provided"는 classpath에 jar를 추가하지 않습니다.
항아리를 다운로드해서는 안되지만 클래스 패스에 추가해야합니다.
scope의 "제공된"pom 파일의 의존성을 사용하고 있습니다. "제공된"범위로 인해 이러한 종속성 병은 MANIFEST.MF의 클래스 경로에 추가되지 않습니다.scope "provided"는 classpath에 jar를 추가하지 않습니다.
항아리를 다운로드해서는 안되지만 클래스 패스에 추가해야합니다.
의미 상 올바르다면 <scope>provided</scope>
을 제거하고 기본값 (<scope>compile</scope>
)으로 두십시오. 그런 다음 종속성에 대해 <optional>true</optional>
을 설정하면 매니페스트의 클래스 경로에 포함됩니다.
provided
범위를 사용하면 실제로 컨테이너에서 제공 한 것이므로 매니페스트의 클래스 경로에 있어야하는 것은 아닙니다.
많은 감사합니다. Michal. EAR에서 위의 내용을 사용하고 있으며 EAR의 공유 라이브러리를 언급하고 있습니다. 항아리는 다운로드되지 않지만 공유 라이브러리 항아리는 참조되지 않습니다. 이것에 대해 저를 도울 수 있습니까? – sridhar
죄송합니다, 지금 정말로 당신을 이해하지 못합니다. 어쩌면'A','B'' 및'C'를 사용하여 상황을 설명 할 수 있습니까?하지만 각각의 패키지가 무엇인지, 의존성을 어떻게 보이는지 말하십시오. –
물론입니다. 나는 설명 할 것이다. 혼란스러워서 미안 .. 미할. 나는 Maven을 사용하고있다. 패키징 유형이 EJB 인 아티팩트 A가 있습니다. 나는 EAR을 포장하는 유물 B를 가지고있다. 아티펙트 B에서 WAR 공유 라이브러리 참조를 사용하고 있습니다. 및 이 아티팩트 A에서 컴파일되었습니다. 필요한 jar 파일이 공유 라이브러리에 있기 때문에 컴파일합니다. 귀하의 도움으로, EJB 모듈의 MANIFEST의 클래스 경로에 jar 이름을 추가했지만 EAR 파일을 배치 할 때 classNotFound 예외가 발생합니다. 이것은 직면 한 문제입니다. –
sridhar