2017-02-20 11 views
1

일부 인공물과 추가 내용이 포함 된 zip 파일을 만드는 데 maven-assembly-plugin을 사용하고 있습니다. 추가 내용은 "Installationattachments"라는 폴더에 있습니다. 지금까지 모든 일이 괜찮아. "Installationattachments"에는 png 및 ico 파일도 포함되어 있지만이 파일은 포함 된 후에 손상됩니다. 여기 내 pom.xml 파일의 플러그인 선언은 다음과 같습니다maven-assembly-plugin png 및 ico가 깨졌습니다.

<!-- installation files --> 
<fileSet> 
    <directory>Installationattachments</directory> 
    <outputDirectory></outputDirectory> 
    <lineEnding>unix</lineEnding> 
    <excludes> 
     <exclude>*.vbs</exclude> 
    </excludes> 
</fileSet> 
<fileSet> 
    <directory>Installationattachments</directory> 
    <outputDirectory></outputDirectory> 
    <lineEnding>dos</lineEnding> 
    <includes> 
     <include>*.vbs</include> 
    </includes> 
</fileSet> 

답변

1

이 문제는 <lineEnding> 매개 변수를 통해 라인 엔딩의 스펙입니다

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>3.0.0</version> 
    <configuration> 
     <appendAssemblyId>false</appendAssemblyId> 
     <descriptors> 
      <descriptor>src/assembly/dep.xml</descriptor> 
     </descriptors> 
    </configuration> 
    <executions> 
     <execution> 
      <id>create-archive</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
     </execution> 
    </executions> 
    <inherited>false</inherited> 
</plugin> 

그리고 어셈블리 자체의 중요한 부분 것은 이것이

. 첫 번째 파일 세트는 VBS 파일이 아닌 모든 파일을 선택하므로 PNG 및 ICO 파일도 선택합니다. 하지만 바이너리 파일이기 때문에 특정 줄 끝을 설정하고 싶지는 않습니다. 지원 MASSEMBLY-849에 요구되는 nonFilteredFileExtensions의 부족에 대한

, 당신은 이미지를 끝 라인없이 제 3 파일 세트를 추가 할 수 있습니다

<fileSet> 
    <directory>Installationattachments</directory> 
    <outputDirectory></outputDirectory> 
    <lineEnding>unix</lineEnding> 
    <excludes> 
    <exclude>*.vbs</exclude> 
    <exclude>*.ico</exclude> 
    <exclude>*.png</exclude> 
    </excludes> 
</fileSet> 
<fileSet> 
    <directory>Installationattachments</directory> 
    <outputDirectory></outputDirectory> 
    <includes> 
    <include>*.ico</include> 
    <include>*.png</include> 
    </includes> 
</fileSet> 
<fileSet> 
    <directory>Installationattachments</directory> 
    <outputDirectory></outputDirectory> 
    <lineEnding>dos</lineEnding> 
    <includes> 
    <include>*.vbs</include> 
    </includes> 
</fileSet>