ant : Glas und zipfileset - kopieren von Dateien von einem GLAS in ein anderes
Ich bin derzeit dabei dies:
<jar update="yes"
jarfile="${pwd}/dist/${release}_installer.jar">
<zipfileset src="${pwd}/dist/app.jar" includes="com/izforge/izpack/panels/**"/>
<zipfileset src="${pwd}/dist/app.jar" includes="com/xyz/img/logo.png"/>
</jar>
Meine vorhandene installer-JAR wird aktualisiert und enthält die benötigten Dateien, extrahiert aus der app JAR.
So weit, So gut.
Allerdings möchte ich ändern das Verhalten so, dass Sie den Pfad der image-Datei ist anders als das, was kopiert aus:
Derzeit:
com/izforge/izpack/panels/MyIzPanel.class
com/xyz/img/logo.png
Was ich will:
com/izforge/izpack/panels/MyIzPanel.class
blah/img/logo.png
Also muss ich die Dateien kopieren, sondern verwenden Sie <zipfileset>
und <Glas>
in einer Weise, die ich ändern kann, die Verzeichnis-Struktur.
Gibt es eine Möglichkeit, dies zu tun, abgesehen vom entpacken Sie den gesamten Inhalt kopieren der Datei und dann packen Sie es wieder nach oben?
EDIT:
Verbindung zu früheren ähnlichen Frage: ant-task zum entfernen von Dateien aus einer jar
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
fullpath
Attribut:Wenn Sie müssen kopieren Sie mehrere Dateien haben möchten Sie vielleicht einen Blick auf die
prefix
Attribut, z.B.:blah/img/com/xyz/img/logo.png
stattblah/img/logo.png
, das ist, was ich will.fullpath
statt.fullpath
funktioniert für eine einzelne Datei, aber ich habe mehrere.png
- Dateien, die will ich anzeigen... ich schaue mir diemapper
( ant.apache.org/manual/Types/mapper.html ) ant-Arten, aber noch nicht geschafft, Sie arbeiten...prefix
Ihren Anforderungen nicht gerecht wird, dann ja, Sie brauchen, um den Mapper.Damit ändern Sie die Verzeichnisstruktur innerhalb des Archivs on-the-fly können Sie die Aufgabe in Kombination mit
<mappedresources
>, z.B.:Sollten Sie wahrscheinlich Blick in zipgroupfileset wie erklärt hier.