2016-04-21 25 views
0

Ich bin ein Artefakt produziert foo.bar.zip aus der folgenden genannt ...Maven-Assembly-Plug-In - Wie erzeugt man Artefakte mit einer benutzerdefinierten Dateierweiterung?

Mein pom.xml-Plug-in-Eintrag sieht wie folgt aus:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <descriptor>src/assembly/bin.xml</descriptor> 
     <finalName>foo.bar</finalName> 
    </configuration> 
    <executions> 
     <execution> 
      <phase>package</phase> 
       <goals> 
        <goal>single</goal> 
       </goals> 
     </execution> 
    </executions> 
</plugin> 

Meine Deskriptordatei sieht wie folgt aus:

<?xml version="1.0" encoding="UTF-8"?> 
<assembly> 
<formats> 
    <format>zip</format> 
</formats> 
<fileSets> 

etc. etc. 

Meine Frage, wie kann ich eine Datei mit einer benutzerdefinierten Erweiterung erstellen? Z.B. mit dem Namen foo.bar anstelle von foo.bar.zip.

+0

Sie können nicht. Und dieser Anwendungsfall ist wirklich bizarr. Warum sollten Sie eine ZIP-Datei mit einer 'bar'-Erweiterung verpacken? Maven lässt dich das nicht tun. – Tunaki

+0

@Tunaki, die Dateierweiterung wird von einer Anwendung von Drittanbietern erwartet. –

+0

Was meinst du? Kannst du mehr über deinen Anwendungsfall erzählen? Welches Problem versuchen Sie zu lösen? – Tunaki

Antwort

1

Assembly unterstützt nur diese Formate:

"zip" - Erstellt eine ZIP-Dateiformat

"tar" - ein TAR-Format

"tar.gz" oder "tgz" Erstellt - Erstellt ein gzip TAR-Format

"tar.bz2" oder "tbz2" - Erzeugt ein bzip'd TAR-Format

"Jar" ​​- Erzeugt ein JAR-Format

"dir" - Erzeugt eine Explosionsverzeichnisformat

"Krieg" - Erzeugt ein Krieg Format

Sie berücksichtigen sollten antrun plugin in einem späteren Ziel verwenden/Phase zum Umbenennen der Dateierweiterung