OK, 나는 는 하나의 Maven 모듈을 다른 모듈에 의존하게하려면 어떻게해야합니까?
내가 하위 프로젝트A
, B
및 C
이있는 마스터 프로젝트 M
을 가지고 ... 내가 메이븐을 사용하는 방법을 이해 생각했다.
C
에는
A
및
B
에 필요한 몇 가지 공통 기능 (주로 인터페이스)이 포함되어 있습니다. 나는 프로젝트 루트 디렉토리 (
M
디렉토리)에서 을 실행하고
A.jar
,
B.jar
및
C.jar
JAR 파일을 얻을 수 있습니다. (모든 산출물에 대한 버전은 현재
2.0-SNAPSHOT
수 있습니다.)
의 <dependencyManagement>
태그에서 M
디렉토리 목록 C
의 마스터 pom.xml
파일, A
및 B
그냥과 같이, 참조를 포함하여 C
를 참조 할 수 있도록 :
<dependency>
<groupId>my.project</groupId>
<artifactId>C</artifactId>
</dependency>
지금까지는 그렇게 좋았습니다. 명령 줄에서 mvn compile
을 실행할 수 있으며 모든 것이 잘 동작합니다. 그러나 NetBeans에서 프로젝트를 열면 "일부 종속성 아티팩트가 로컬 저장소에 없습니다"라는 메시지가 나타나 누락 된 아티팩트는 C
입니다. 마찬가지로 명령 줄에서 A
또는 B
디렉토리로 변경하고 mvn compile
을 실행하려고하면 "빌드 오류 : 이슈 분석에 실패했습니다."라는 메시지가 나타납니다.
은 내가 수동으로 C.jar
이 구축 된 곳으로 이동 mvn install:install-file
를 실행할 수 있습니다 기대하지만, 차라리 나를 그냥 넷빈즈 (및/또는 m2eclipse에를 사용하여 이클립스)에서 직접 작업 할 수있는 해결책을 찾을 것입니다.
내가 뭘 잘못하고 있니?
감사합니다. 필자는'mvn compile '대신'mvn package'를 사용하는 것을 알고있었습니다. 그러나 알림을 보내 주셔서 감사합니다. 그러나 wiki.netbeans.org의 "Maven Best Practices"링크가 특히 유용했기 때문에이 대답을 받아 들였습니다. –
@Daniel 대단합니다. 그러나 사이드 노트는'mvn 패키지'와'mvn jar : jar'에 대해 더 많은 것이 었습니다 :) 당신이 유용한 링크를 찾았 기 때문에 다행입니다. –
모듈의'install'을 부모의'compile'의 일부로 실행할 수 있습니까? –