2012-07-17 3 views
0

우리는 다중 프로젝트 환경에서 Maven2를 사용하고 있습니다. 사실 저는 의존성 범위를 다루고 있습니다. 대상 솔루션에서 클래스 경로를 설정하여 VM에 모든 종속 파일을 제출하려고합니다.Maven2는 하위 종속성을 해결할 수 없습니다.

Pom_Project_A_.xml

<dependencies> 
    <dependency>log4j</dependency> 
    <dependency>commons-io</dependency> 
    <dependency>...</dependency> 
</dependencies> 

Pom_Project_B.xml

<dependencies> 
    <dependency>Project_A</dependency> 
</dependencies> 

내가 프로젝트 "B"받는다는 캔트 해결 log4j에 다른 "subdependencies"이미 프로젝트에 정의 된 "A"를 컴파일 할 .

이 동작을 변경할 수 있습니까? 고마워요

+0

pom.xml의 실제 예제를 보여주세요. – carlspring

+0

감사합니다. Carl. 내 대답을 보라. ;) – Mirko

답변

0

범위 "컴파일"은 내가 필요한 것입니다.

<parent> 
    <groupId>net.company</groupId> 
    <artifactId>superpom</artifactId> 
    <version>1.0.2</version> 
</parent> 

<groupId>net.company.projectA</groupId> 
<artifactId>projectA</artifactId> 
<version>1.1.0-SNAPSHOT</version> 
<packaging>jar</packaging> 
<dependencies> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
     <scope>compile</scope> 
    </dependency> 
</dependencies> 

폼은 프로젝트에 대한 B : 스코프를 받는다는 목표 패키지, 조립 등

폼은 프로젝트의를 등 런타임 테스트를 컴파일에 대해 나는 혼란스러워했다

<parent> 
    <groupId>net.company</groupId> 
    <artifactId>superpom</artifactId> 
    <version>1.0.2</version> 
</parent> 

<groupId>net.company.projectB</groupId> 
<artifactId>projectB</artifactId> 
<version>1.1.2-SNAPSHOT</version> 
<packaging>jar</packaging> 
<dependencies> 
    <dependency> 
     <groupId>net.company.projectA</groupId> 
     <artifactId>projectA</artifactId> 
     <version>1.1.0-SNAPSHOT</version> 
     <scope>compile</scope> 
    </dependency> 
</dependencies>