Javaプロジェクトの場合、依存するすべてのサードパーティ製のjarファイルを、すでに管理しているApache Antで作成されたメインjarファイルにマージしたいと思います。Ant:マージされたjarファイルからファイルを除外する
これらのjarファイルの中には、META-INF
ディレクトリにシグネチャファイルがあるため、jarファイルを実行しようとすると、エラーメッセージ"Invalid signature file digest for Manifest main attributes"
が表示されるという問題があります。署名ファイルを手動で削除した後、エラーはなくなります。
私は、excludes
属性またはexclude
タグで、自分のantファイルに署名ファイルをフィルタリングしようとしましたが、何も効果がないようです。
これはアリタスクです:
<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ファイルからファイルをフィルタリングすることができますか?ご協力いただきありがとうございます!
(https://bz.apache.org/bugzilla/show_bug.cgi?id=34403)[zipgroupfilesetは、ネストされたパターンの仕様をサポートする必要があります]バグを参照してください。 –