2011-12-13 5 views
1

하나의 부모 아래에 4 개의 하위 pom이 있습니다. 아이들 중 하나는 다른 3 개의 모듈 항아리가 들어있는 지퍼를 만드는 것입니다. 이것은 작동하지만 각각의 종속성을 선택하지는 않습니다.메이븐 어셈블리 플러그인 - 어셈블리에 다른 하위 종속성 포함

모듈 빌드의 pom.xml :

...  
    <plugin> 
     <artifactId>maven-assembly-plugin</artifactId>    
     <inherited>true</inherited>    
     <configuration> 
      <descriptors> 
      <descriptor>desc.xml</descriptor> 
      </descriptors> 
     </configuration> 
    </plugin> 
... 

desc.xml :

... 

     <moduleSets> 
      <moduleSet> 
       <binaries> 
        <unpack>false</unpack> 
        <dependencySets> 
         <dependencySet> 
          <unpack>false</unpack> 
          <scope>runtime</scope>     
          <outputDirectory>lib</outputDirectory> 
         </dependencySet> 
        </dependencySets> 
       </binaries> 
      </moduleSet> 
     </moduleSets> 
    ... 

결과의 'LIB'폴더가 생성되지 않습니다.

도움을 주시면 감사하겠습니다.

+0

안녕하세요 solarwind이 있다는 것을 알고는에 대해 언급 해주십시오 답변 (도움이 더 필요하면) 또는 올바른 것으로 표시하십시오. 현재이 질문은 아직 답변되지 않은 목록에 있지만 의견이 없으면 이미 2 가지 답변이 있으므로 지금은 더 이상 얻을 수 없을 것입니다. – Jan

답변

1

부모의 모듈 섹션 옆에있는이 네 번째 모듈의 종속성으로 나머지 3 개의 모듈을 지정 했습니까? 당신이 경우에

, 그것은 당신이 할 경우에도 작동합니다 :

<assembly> 
<id>final</id> 
    <formats> 
    <format>jar</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
    <dependencySet> 
     <unpack>false</unpack> 
     <scope>runtime</scope>     
     <outputDirectory>lib</outputDirectory> 
    </dependencySet> 
    </dependencySets> 
</assembly> 
1

은 어쩌면 조금 늦게, 그러나 아무리 :). 어셈블리를 부모 프로젝트로 옮겨야하지만 실제 문제는 아닙니다. 플러그인의 버전을 사용

: 여기 내

가, 느릅 나무가 완전히 작동합니다 (그러나 프랑스어, 용서를))

<?xml version="1.0" encoding="UTF-8"?> 
<assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
    <!-- Ce chemin est lié au plugin maven-jar et à la génération du manifest 
     : à manipuler avec précautions --> 
    <id>lib</id> 
    <formats> 
     <format>zip</format> 
    </formats> 
    <!-- Supprimer la création d'un répertoire dans l'archive au nom du projet --> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
     <dependencySet> 
      <outputDirectory>/</outputDirectory> 
      <unpack>false</unpack> 
      <scope>runtime</scope> 
     </dependencySet> 
    </dependencySets> 
</assembly> 

이것은 내장 된 플러그인의 기능 (의존성을 얻기 위해). 하지만이 멀티 모듈 프로젝트에서 그것을 사용하지 않을 거라고, 내가 도움이 될 것입니다 사용 산부인과 ModuleSet 일부 까다로운 고려 ...

희망 ...

관련 문제