2013-12-11 2 views
1

다른 프로젝트에서 생성 된 ZIP 파일을 사용해야하는 프로젝트가 있습니다. 그 '다른 프로젝트'는 내 통제하에 있지 않습니다. 내 프로젝트를 올바르게 빌드하려면 ZIP 파일이 필요합니다. 그것은 내 프로젝트의 실행에 필요하지 않습니다. 나에게 ZIP 파일을 다운로드하려면 Maven이 필요하다.ZIP 아티팩트에 대한 Maven 종속성

나는 현재이 같은 ZIP 이슈에 대한 종속성을 만들 :

<dependency> 
    <groupId>org.foo</groupId> 
    <artifactId>zeus</artifactId> 
    <version>1.1</version> 
    <type>zip</type> 
    <scope>test</scope> 
</dependency> 

내 문제가 범위입니다. 내가 test 이외의 것을 사용하면 내 프로젝트를 망쳐 놓은 '다른 프로젝트'에서 많은 전이 의존성을 가져옵니다. 범위로 test을 사용하면 실제로 작업을하지만 내 IDE에서 테스트 종속성으로 표시됩니다. 그래서 나는 뭔가 잘못하고 있다고 느낍니다. 이것은 테스트 종속성이 아닙니다!

사용 가능한 Maven 범위 ('컴파일', '제공됨'등)를 검토 한 결과 사용 사례와 일치하는 항목을 찾지 못하는 것 같습니다. 내가 뭔가 잘못하고 있는거야?

+0

내가 '제공'및 최악의 경우는 그것 (팁과 함께 드래그 어떤 엑스트라를 제외 사용합니다 당신을위한 시각화 의존 구조) – radai

+0

@radai. 나를 위해 종속성을 다운로드하려면 Maven이 필요합니다. '제공'합니까? – peterh

+0

@radai'제공됨 '은 OP가 원하는 것과는 반대이므로 작동하지 않습니다. '제공됨'은 "컴파일시 필요하지만 런타임에는 ** 필요하지 않음"을 의미합니다. –

답변

0

당신은 제외 모든 이적 종속성을 선언해야 : 사용 MVN 의존성 : 나무를 멋진을 얻을

<dependency> 
    <groupId>org.foo</groupId> 
    <artifactId>zeus</artifactId> 
    <version>1.1</version> 
    <type>zip</type> 
    <scope>compile</scope> 
    <exclusions> 
     <exclusion> 
      <groupId>org.foo</groupId> 
      <artifactId>transitive-dep-1</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.foo</groupId> 
      <artifactId>transitive-dep-2</artifactId> 
     </exclusion> 
     <!-- add all transitive deps. --> 
    </exclusions> 
</dependency> 
+1

감사. 나는 그것이 다른 프로젝트의 의존성을 추적해야하기 때문에 그것이 유지 보수의 악몽 일 수 있다고 생각한다. 유스 케이스가 간단하고 명백한 해결책이 없다는 것이 다소 이상하다고 생각합니다. 난 그냥 지퍼 유물에 의존하고 싶다 ... 얼마나 어렵습니까? (내가 이런 생각을 할 때마다 나는 항상 거울 속을 들여다 보면서 아마도 내가 Maven 개념을 오해 한 것 같다고 생각한다.) – peterh

+0

여러 가지 이유 때문에 나는이 해결책으로 갈 것이다. (유지 보수의 악몽에도 불구하고, 나는 그것을 본다.) 다른 곳에 제안 된 그늘 플러그인을 사용하지 마십시오. 감사. – peterh

관련 문제