2017-05-05 2 views
0

저는 다중 모듈 프로젝트를 가지고 있습니다. 각 모듈은 자신/target 폴더에 jar/war 파일로 패키지되어 있습니다.zip 파일에 다중 모듈을 패키지하는 방법은 무엇입니까?

모든 jar/war 파일과 일부 설정 파일을 가져 와서 모든 것을 zip에 넣고 싶습니다.

어떻게 수행하나요? 나는 어셈블리 플러그인을 사용해 보았지만, 지금까지 해왔 던 모든 작업은 각각의/target 폴더에있는 각 모듈의 압축이므로 매우 쓸모가 없다. ^^

+0

[uber jar 란 무엇입니까?] (http://stackoverflow.com/questions/11947037/what-is-an-uber-jar) –

답변

1

먼저 다른 모듈을 만들자. dist 새 모듈과 부모에 추가하고 유형 war을 포함한 종속대로 결과 zip 파일에서보고 싶은 모든 모듈을 추가 jar

<packaging>pom</packaging>이 모듈은 어떤 자바 코드를 포함하지 않는 원인을 제공해야

하는 주어진 의존성을 포함하는 zip 파일을 만들고 싶을뿐입니다.

<project ..> 

<packaging>pom</packaging> 

<dependencies> 
    <dependency> 
     <groupId>module-1</groupId> 
     <artifactId>module-1-artifact</artifactId> 
     <version>${project.version}</version> 
     <type>war</type> 
    </dependency> 
    <dependency> 
     <groupId>module-2</groupId> 
     <artifactId>module-2-artifact</artifactId> 
     <version>${project.version}</version> 
    </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>make-bundles</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
         <configuration> 
          <descriptors> 
           <descriptor>proj1-assembly.xml</descriptor> 
          </descriptors> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

는 다음과 같은 설명을 추가

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> 

    <id>dist-assembly</id> 

    <formats> 
     <format>zip</format> 
    </formats> 

    <includeBaseDirectory>false</includeBaseDirectory> 

    <dependencySets> 
     <dependencySet> 
      <outputDirectory>/</outputDirectory> 
      <useProjectArtifact>false</useProjectArtifact> 
      <unpack>false</unpack> 
     </dependencySet> 
    </dependencySets> 
</assembly> 

종속성이 실행 순서가 제대로 메이븐에 의해 계산되어 있는지 확인하기 위해 필요하다.

해당 zip 파일에서 추가 구성이 필요한 경우 예를 들어 해당 파일을 src/main/config에 추가하고 어셈블리 설명자에 fileSets 부분을 추가 할 수 있습니다.

+0

의 가능한 복제본이 답변을 수락하지 못하는 이유를 이해하지 못했습니다. :) 고마워, 그것을 사용, 그것을 투표했다. –

관련 문제