Per un progetto java vorrei unire tutti i vasi di terze parti da cui dipende nel vaso principale creato da Apache Ant, che sono già riuscito a fare.Ant: escludi file dal file jar unito
Il problema è che alcuni di questi file jar hanno i file di firma nelle loro directory-META-INF
, quindi quando provo a eseguire il mio file jar, viene visualizzato il messaggio di errore "Invalid signature file digest for Manifest main attributes"
. Dopo aver eliminato manualmente i file di firma, l'errore è scomparso.
Ho provato a filtrare i file di firma nel mio ant-file con un excludes
-attributo o un exclude
-tag, ma nulla sembra avere alcun effetto.
Questa è la formica-task:
<target name="jar" description="Creates the jar file">
<mkdir dir="${jar}"/>
<jar destfile="${jar}/${ant.project.name}.jar" level="9" filesetmanifest="mergewithoutmain">
<zipgroupfileset dir="${lib}" includes="*.jar"/>
<zipfileset dir="${class}"/>
<manifest>
<attribute name="Main-Class" value="${mainclass}"/>
</manifest>
</jar>
</target>
Come posso filtrare i file dal vaso con conseguente questo ant-compito? Grazie per l'aiuto!
vedi bug [zipgroupfileset dovrebbe sostenere una specifica modello nidificato] (https://bz.apache.org/bugzilla/show_bug.cgi?id=34403). –