Java ライブラリ用の Ant ビルドファイルがあります。次のようになります。
<project ... ><target ... >
<jar destfile="C:\path\to\export.jar">
<manifest> ... </manifest>
<fileset dir="C:\path\to\bin" />
<fileset dir="C:\path\to\src" />
<fileset dir="C:\path\to\doc" />
<zipfileset src="C:\path\to\included\library.jar" />
</jar>
</target></project>
唯一の問題は、JavaDoc が結果の jar ファイルのルート ディレクトリに直接エクスポートされていることです。基本的に、<copydir>
コマンド内で使用できるコマンドに相当するものが<jar>
欲しいです。
私の望む構造はこれです:
export.jar
META-INF
Manifest.MF
com
example
whatever
Blah.class
Blah.java
org
external
somelibrary
Magic.class // contents of the included library jar file
doc
// javadoc files here
現在の構造は次のとおりです。
export.jar
META-INF
Manifest.MF
com
example
whatever
Blah.class
Blah.java
// some javadoc files here
org
external
somelibrary
Magic.class // contents of the included library jar file
// more javadoc files here
私の現在の「解決策」は、ドキュメント<fileset>
コマンドを省略し、jar がエクスポートされたら、Windows エクスプローラーに移動し、右クリック→ 7-Zip → Open Archiveです。doc
その後、そこにディレクトリをドロップできます。ただし、これは完全に自動化されたビルド システムとしての Ant の目的を完全に無効にします。
重要な場合、このファイルは元々、Runnable JAR エクスポーターを使用して Eclipse によって生成されたものです。ただし、これはライブラリであり、実際には実行可能な jar ではないため、明らかにソース ファイルなどを追加するために変更する必要があります。必要なライブラリーに Eclipse をパッケージ化するために、それを実行可能な jar としてエクスポートしました。どうやら、ビルド パス上のライブラリは、標準のFile → Export → JAR file経由でエクスポートすることはできません。