2011-03-17 4 views
0

mvn dependency : multi-module 프로젝트의 copy-dependencies를 실행할 때 mvn은 jars가 .m2/repo에 이미 설치되어 있다고 생각합니다. 어쩌면 내가 뭔가를 놓치고있어하지만 그 안에 감각을 알아낼 수 없다 ...
이 질문은 Maven: Why does it need dependency modules' .jars for `mvn initialize`?과 다소 비슷하지만 의존성 플러그인 (나는 추측한다 ...)과 언급 한 질문에 더 구체적이다. t은 좋은 답변, 나에게 도움이 이상 없음 ... mvn dependency plugin에 jar를 설치해야합니까?

내가 모다는 가 지금은

mvn dependency:copy-dependencies -am -pl modA 

이 모두 복사해야을 실행하려면 MODB
에 의존하는 다중 모델 프로젝트가있다 modA 및 모듈에 의존하는 모든 모듈의 종속성 (예 : modB

)

문제는 .m2/repo에 modB 항아리가 들어 있지 않으면 플러그인이 실패합니다 ... 이유는 무엇입니까?
재미있는 점은 .m2/repo /에 적절한 "jar"파일을 만들면 플러그인이 성공하기에 충분하므로 그냥 jar 파일의 내용을 보지 못한다는 것을 증명합니다. , 그러나 그것을 여전히 필요로합니다. WTF? ...

첫 번째 질문 - 왜요?
두 번째 질문 - 실제로 항아리를 생성하거나 "터치"하지 않고 문제를 우회합니까? (나는 많고 실용적이지 않습니다 ...)

업데이트 : OMG, 귀중한 작품을 추가하는 것을 잊어 버렸습니다 ... modB를 복사하지 않고서 이슈 ID를 실제로 제외했습니다. 명령, 실제로이었다 있도록 :

mvn dependency:copy-dependencies -am -pl modA -DexcludeGroupIds=mod.b.group.id 

나는 시도조차 : 그래서

mvn dependency:copy-dependencies -am -pl modA -DexcludeArtifactIds=modB 

그때는 totatlly 플러그인이 REPO에 MODB 찾는 것이 의미가 있다고하지 않았다면하지만 modB가 제외 되었기 때문에 나는 플러그인이 modB.jar을 필요로하지 않을 것을 기대했다.
글쎄, 아마도이 질문은 버그 보고서 일 필요가 있습니다 ...

답변

0

왜? 그 명령이 해야하는 것 같아요 - 종속성을 복사하고 존재하지 않으면 실패합니다. 플러그인은 유물의 무결성과 관련이 없습니다.

선택한 그룹/프로젝트에서 이것을 무시하는 한 가지 방법은 플러그인의 excludeGroupIdsexcludeArtifactIds 매개 변수를 사용하는 것입니다.

+0

죄송하지만, 가장 가치있는 작품을 추가하는 것을 잊어 버렸습니다 ... 내 질문에 대한 업데이트를보십시오. 실제로 복사 명령에서 목적에 따라 modB를 제외했지만 예상대로 작동하지 않았습니다. – Ran