문제

할 수 있습니까?

환경 : 멀티 모드 POM은 3 가지 모듈의 MM1, MM2, MM3으로 구성됩니다. 모듈 MM2는 종속성으로서 MM1을 갖는다. 오류없이 부모 POM을 구축 할 수 있습니다.

질문 : MM1을 로컬 리포지토리에 설치하지 않고 단일 모듈 MM2 (즉, MM2베이스 디렉토리에서 Maven을 실행할 수 있습니까?)를 빌드 할 수 있습니까?

감사.

도움이 되었습니까?

해결책

자동 설치가 없으면 선택하지 않은 프로젝트 만 구축 할 수 있습니다. 멀티 모듈 빌드가 있어야합니다 (귀하가 그렇게 가정합니다). 원자로 모드에서 모든 명령은 반응기의 뿌리.

따라서 귀하의 경우 :

mvn reactor:make -Dmake.folders=mm2

이 경우 MM2 모듈과 의존하는 모듈 (MM1)을 빌드합니다.

유용한 링크:

책 예에서 나는 프로젝트 지속 시간과 그의 종속성 프로젝트 모델 만 구축합니다. 다른 프로젝트는 손대지 않습니다mvn reactor:make -Dmake.folders=sample-persist

Alt Text http://www.sonatype.com/books/maven-book/reference/figs/web/running_aro-dependencies.png

다른 유용한 명령입니다 reactor:make-dependents X에 의존하는 프로젝트를 구축합니다.

다른 팁

"MM1을 로컬 리포지토리에 설치하지 않고"정확히 무엇을 의미하는지 잘 모르겠습니다. 이전에 MM2를 구축하는 것을 의미합니까?

의심 할 여지없이 아마도 새로운 빌드 옵션 중 하나가 Maven 팁 및 요령 : 고급 원자로 옵션 블로그 게시물은 도움이 될 수 있습니다.

Maven 2.1 릴리스부터 시작하여 Maven이 멀티 모듈 프로젝트를 구축하는 방식을 조작 할 수있는 새로운 Maven Command Line 옵션이 있습니다. 이 새로운 옵션은 다음과 같습니다.

-rf, --resume-from
        Resume reactor from specified project
-pl, --projects
        Build specified reactor projects instead of all projects
-am, --also-make
        If project list is specified, also build projects required by the list
-amd, --also-make-dependents
        If project list is specified, also build projects that depend on projects on the list

나는 구체적으로 생각하고 있었다 -pl 그리고 -am 옵션. 모듈의 하위 집합을 만들려면 루트 디렉토리에서 다음을 실행하십시오.

$ mvn --projects mm2 --also-make install

그러나 나는 이것이 당신의 질문에 대한 답을 확신하지 못한다 (이것은 나에게 완전히 명확하지 않다).

이것은 maven2의 종속성 원칙에 위배됩니다. 정확히 그 일을하는 것에 대한 관심은 무엇입니까?

그러나 MM2의 MM1 의존성을 system 의존:

<dependency>
    <groupId>...</groupId>
    <artifactId>mm1</artifactId>
    <version>...</version>
    <scope>system</scope>
    <systemPath>../mm1/target/</systemPath>
</dependency>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top