6

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-ZipOpen Archiveです。docその後、そこにディレクトリをドロップできます。ただし、これは完全に自動化されたビルド システムとしての Ant の目的を完全に無効にします。

重要な場合、このファイルは元々、Runnable JAR エクスポーターを使用して Eclipse によって生成されたものです。ただし、これはライブラリであり、実際には実行可能な jar ではないため、明らかにソース ファイルなどを追加するために変更する必要があります。必要なライブラリーに Eclipse をパッケージ化するために、それを実行可能な jar としてエクスポートしました。どうやら、ビルド パス上のライブラリは、標準のFileExportJAR file経由でエクスポートすることはできません。

4

1 に答える 1