2017-02-20 4 views
1

Ich benutze maven-assembly-plugin zum Erstellen einer Zip-Datei, die einige Artefakte und zusätzliche Sachen enthält. Das zusätzliche Zeug befindet sich in einem Ordner namens "Installationattachments". Bis jetzt läuft alles gut. "Installationattachments" enthält auch eine PNG- und eine ICO-Datei, die ebenfalls enthalten sind, aber diese sind nach der Einbindung defekt. Hier ist das Plugin Erklärung meiner pom.xml:maven-assembly-plugin png und ico kaputt

<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> 

Und das ist der kritische Teil der Baugruppe selbst:

<!-- 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> 

Antwort

1

Das Problem ist die Spezifikation von Zeilenenden durch den <lineEnding> Parameter . Die erste Dateigruppe wählt alle Dateien aus, die keine VBS-Datei sind. Daher werden auch PNG- und ICO-Dateien ausgewählt. Da es sich jedoch um Binärdateien handelt, möchten Sie für diese keine bestimmte Zeilenendung festlegen.

Mangels eines nonFilteredFileExtensions, deren Unterstützung in MASSEMBLY-849 gefragt ist, können Sie eine dritte Dateigruppen ohne Zeilenende für Bilder hinzufügen:

<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>