2013-10-09 4 views
1

POM.xml에 종속 항목을 추가 할 때 주요 이슈 자체를 제외 할 수 있습니까? 즉, 내 pom에 의존성을 추가하고 싶고 주 병이 아니라 종속성 만 다운로드하려고합니다. 나는이 이상하게 보일 수도 있습니다 알고 있지만 실제로 내 소스 폴더에 HtmlUnit과 프로젝트의 수정 된 버전을 가지고 내가 실제로 원하는 것은 그것을 따라 라이브러리 만입니다Maven : 종속 항목에서 주요 이슈 자체 제외

<dependency> 
    <groupId>net.sourceforge.htmlunit</groupId> 
    <artifactId>htmlunit</artifactId> 
    <version>2.12</version> 
    <exclusions> 
     <exclusion> 
      <groupId>net.sourceforge.htmlunit</groupId> 
      <artifactId>htmlunit</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

을 : 여기

는 내가하고 싶은거야 그걸 모두 내 담벼락에 넣지 않고도.

나는 위를 시도했다. htmlunit-2.12.jar가 필자의 프로젝트에 추가 된 것 같아서 피하고 싶다.

이 문제를 해결하기 위해 할 수있는 일은 무엇입니까?

답변

2

jar 대신 htmlunit의 pom에 종속성을 정의 할 수 있습니다. 다음과 같이 그래서 당신은 종속성을 정의하는 것입니다 : 당신은 모든 의존성이 이적으로 프로젝트에 포함 된 POM에서 정의하는 것이지만 HtmlUnit과 항아리가 포함되지 않을 것

<dependencies> 
    <dependency> 
     <groupId>net.sourceforge.htmlunit</groupId> 
     <artifactId>htmlunit</artifactId> 
     <version>2.12</version> 
     <type>pom</type> 
    </dependency> 
    <!-- other project dependencies go here --> 
</dependencies> 

.

0

질문을 읽으면 그 jar를 제외한 다른 프로젝트 jar의 pom 파일에 언급 된 종속성을 추가하려고한다고 말할 수 있습니다.

당신은 이런 식으로하여이 작업을 수행 할 수 있습니다, 여기에 내가 볼이 종속성 관리에 훨씬 더 설명이 받는다는 웹 사이트에 귀하의 요구 사항

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>other.pom.group.id</groupId> 
      <artifactId>other-pom-artifact-id</artifactId> 
      <version>SNAPSHOT</version> 
      <scope>import</scope> 
      <type>pom</type> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

에 따라 일반적으로 변경 각각의 속성 값의 코드를 보여이 Importing dependencyDependency Management

+0

이것은 'dependencyManagement' 섹션에만 의존성을 추가합니다. 명시 적으로 프로젝트의 종속성이 아닙니다. 즉, 빌드 할 때 프로젝트의 클래스 경로에 포함되지 않아야합니다. 여전히 pom의''섹션에 필요한 모든 의존성을 나열 할 필요가있다. – DB5