2017-04-06 18 views
1

내 프로젝트 저장소 의존성 솔루션을 사용하여 제 3 자 jar를 내 Maven 프로젝트의 종속성으로 포함시키고 있습니다. 나는 그것에 대해 this blog에 관한 지침을 따르고있다.Maven 패키지의 프로젝트 내 저장소 의존성 내 병

이제는 Maven 프로젝트를 jar 파일로 패키징 할 때 jar 파일에 제 3 자 jar 파일이있는 lib 폴더가 있어야합니다. 그러나, 나는 다른 의존성이 항아리에 포장되기를 원하지 않는다. (나는 모든 의존성을 가진 뚱뚱한 항아리가 그 안에 패키지되어있는 것을 원하지 않는다. 단지 그 안에 패키징 된 하나의 제 3 자 종속 항아리가있는 항아리를 원한다.)

필자는 maven-dependency-plugin과 maven-jar-plugin으로 놀고 자 노력해 왔지만, 내가 원하는 것을 성취 할 수 없었습니다.

누군가 나를 도울 수 있습니까?

답변

0

Maven Assembly Plugin을 살펴보십시오. 그것은 필터링 dependencie을 포함 할 수 있습니다, 그래서 당신은 어셈블리에 포함 deps 선택할 수 있습니다

0

당신은 maven-dependency-plugin은 (here)을 보면 아래 그림과 같이, 많은 옵션을 제공 할 것입니다이 플러그인은 어떤 artifactId를 항아리를 포함하는 데 사용할 수있는 (즉, <includeArtifactIds>) 또는의 groupId (<includeGroupIds>), 등 ...

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
     <executions> 
     <execution> 
      <id>copy-dependencies</id> 
      <phase>prepare-package</phase> 
       <goals> 
        <goal>copy-dependencies</goal> 
       </goals> 
       <configuration> 
      <outputDirectory>${project.build.directory}/ 
          classes/lib</outputDirectory> 
       <overWriteReleases>false</overWriteReleases> 
       <overWriteSnapshots>false</overWriteSnapshots> 
       <overWriteIfNewer>true</overWriteIfNewer> 
       <includeArtifactIds>YOUR_THIRDPARTY_JAR_NAME</includeArtifactIds> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 

그래서, 코드 위의 는 최종 .jar 파일의 lib 폴더YOUR_THIRDPARTY_JAR_NAME.jar을 추가합니다.