2016-09-23 2 views
0

두 가지 프로젝트가 있습니다. 프로젝트 A & B. 프로젝트 B는 프로젝트 A에 종속적입니다. 프로젝트 B를 실행하려면 프로젝트 B의 pom.xml에 프로젝트 A의 depedency를 추가해야합니다. 내가 프로젝트 A. 뭔가를 변경하는 경우로컬 .m2 저장소 및 중앙 메이븐 저장소에서 검색하지 않고 maven을 사용하여 모듈에서 파일에 액세스하는 방법?

나는 MVN 그럼 난

내가 프로젝트 A의 프로젝트에 코드를 변경 액세스 할 수 프로젝트 B를 실행할 수 있습니다 프로젝트 A의 최신 코드를 로컬 저장소를 업데이트를 다시 설치해야 할 B 설치하지 않고 mvn 설치?

답변

0

아니요. 업데이트 된 코드에 액세스 할 수 없습니다. 이는 메이븐 애플리케이션을 빌드 할 때 .m2 저장소의 모든 종속성을 가져 오기 때문입니다. 거기에 종속성을 찾지 못하면 원격 저장소를 검색합니다.
A 코드를 업데이트하고 빌드하지 않으면 .m2 저장소에서 업데이트 된 이슈를 사용할 수 없습니다. 이제 Project B를 빌드하면 .m2 저장소에서 project A artiufact를 가져 오려고 시도합니다. 코드를 수정 한 후에 A를 빌드하지 않았으므로 B는 현재 .m2 폴더에있는 이슈 즉 이전 코드의 이슈를 가져옵니다.
사용할 수있는 또 다른 접근법은 부모 pom을 갖는 것입니다. 이것은 두 모듈 모두에 대해 pom.xml을 실행할 aggregator pom 일뿐입니다. 예를 들어이의 포장 치어해야한다는

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
          http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>org.sonatype.mavenbook.multispring</groupId> 
    <artifactId>simple-parent</artifactId> 
    <version>1.0</version> 
    <packaging>pom</packaging> 

    <modules> 
     <module>module-A</module> 
     <module>module-B</module> 
    </modules> 
</project> 

은 유의하시기 바랍니다.

관련 문제