Para un proyecto de Java, me gustaría fusionar todos los archivos jar de terceros, depende del contenedor principal creado por Apache Ant, que ya he logrado.Ant: excluir archivos del archivo jar fusionado
El problema es que algunos de estos archivos jar tienen archivos de firma en sus directorios META-INF
, así que cuando intento ejecutar mi archivo jar, aparece el mensaje de error "Invalid signature file digest for Manifest main attributes"
. Después de eliminar manualmente los archivos de firma, el error desapareció.
Intenté filtrar los archivos de firma en mi archivo ant con un excludes
-tributo o un exclude
-tag, pero nada parece tener ningún efecto.
Esta es la hormiga-tarea:
<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>
Cómo puedo filtrar los archivos de la jarra que resulta en esta hormiga-tarea? ¡Gracias por tu ayuda!
consulte el error [zipgroupfileset debe soportar una especificación del patrón anidado] (https://bz.apache.org/bugzilla/show_bug.cgi?id=34403). –