2011-10-20 4 views
2

maven 다중 모듈 프로젝트가 있습니다. 하나의 모듈에서 maven-assembly-plugin으로 2 개의 ZIP 파일을 생성합니다. 이 구성 :Maven 릴리스 : 어셈블리 플러그인 (다중 모듈 프로젝트)에서 오류를 수행하십시오.

<configuration> 
      <finalName>${sample.source.zip.filename}</finalName> 
      <appendAssemblyId>false</appendAssemblyId> 
      <outputDirectory>${project.build.directory}/zip</outputDirectory> 
      <descriptors>         
       <descriptor>src/main/assembly/sample-source.xml</descriptor> 
      </descriptors> 
     </configuration> 


at the war packaging, we put this 2 zip files into the war files, with the maven-war-plugin 

    ... 
    <resource> 
     <directory>${project.build.directory}/zip</directory> 
     <targetPath>client</targetPath> 
    </resource> 
    ... </code></pre> 

괜찮습니다. 그러나 설치 단계에서 maven은이 zip 파일을 동일한 파일 이름의 로컬 저장소에 '복사'합니다. (module_name & version_number & .zip) 그리고 나는 왜, 그게 zip 파일 이름을 바꿉니다!? (zip 파일은 전쟁에서 필요하지만 저장소의 단일 파일에는 필요하지 않습니다.)하지만 Maven이 그 파일을 복사하려면 괜찮습니다. 왜 이름이 바뀌습니까 ???

아무도 아이디어가 없습니까? 설치시 파일을 제외 할 수있는 방법이 있습니까? deploy maven에서 같은 이름의 zip 파일을 maven 저장소에 업로드하려고하지만 두 번째 복사본에서 실패 할 것이므로 매우 큰 문제입니다. (같은 이름의 zip 파일이 있기 때문에 ....)

답변

3

제작 한 어셈블리를 프로젝트에 첨부하여 프로젝트의 아티팩트로 설치 및 배포 할 수 있습니다. 명명 충돌이있는 경우 두 어셈블리에 고유 한 ID를 지정하지 않았기 때문입니다. id of the assembly is used in constructing the final file name. 이것은 어셈블리 간의 명명 충돌을 해결할 수있는 적절한 방법입니다.

어셈블리가 프로젝트에 아티팩트로 첨부되지 않도록하여 어셈블리가 설치 또는 배포되지 않도록하려면 attach = false, in the assembly plugin's configuration으로 설정하십시오.

+0

고마워요! 완벽한 대답. 첨부 = false 내 문제를 해결. –

관련 문제