Для проекта java я хотел бы объединить все сторонние банки, в зависимости от того, в чем он состоит, в основном банке, созданной Apache Ant, что я уже успел сделать.
Проблема в том, что некоторые из этих jar файлов имеют файлы-подписи в своих META-INF
-directories, поэтому, когда я пытаюсь запустить свой jar файл, я получаю сообщение об ошибке "Invalid signature file digest for Manifest main attributes"
. После того, как я удалил файлы подписи вручную, ошибка исчезла.
Я попытался отфильтровать файлы подписи в моем ant -file с excludes
-attribute или exclude
-tag, но ничего не имеет никакого эффекта.
Это ant -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>
Как фильтровать файлы из полученного jar в этой ant -task? Спасибо за вашу помощь!