2

私はこのようなディレクトリ構造を持っています (Netbeans ではほとんど標準です)

src/
build/generated/gen-1
build/generated/gen-2
...
build/generatad/gen-n

次の ant コマンドを使用して、すべてのソースを 1 つの jar にパッケージ化しています。

<jar destfile="sources.jar" compress="true">
    <fileset dir="src"/>
    <fileset dir="build/generated/gen-1"/>
    <fileset dir="build/generated/gen-2"/>
    ...
    <fileset dir="build/generated/gen-n"/>
</jar>

のすべてのサブディレクトリを一緒に jar したいが、gen -iプレフィックスbuild/generatedを避けたいと言うコンパクトな方法はありますか?

をいじってみまし<dirset>たが、 と混ぜることができませんでした<jar>

すべてを一時ディレクトリにコピーするのを避ける方法が欲しいです(この回答のように)。

4

2 に答える 2

3

少なくとも Ant 1.8 があると仮定すると、使用できます<mappedresources>

<jar destfile="sources.jar" compress="true">
    <fileset dir="src"/>
    <mappedresources>
        <fileset dir="build/generated"/>
        <regexpmapper from="^gen-\d*/(.*)$$" to="\1" handledirsep="true"/>
    </mappedresources>
</jar>

(属性内の二重のドル記号に注意してくださいfrom。これは、Ant が属性内でプロパティ展開を行う方法により、正規表現では実際には単一のドルです)

于 2013-03-27T17:15:13.523 に答える
0

Antでそれが可能であるとは思えません。one-jarライブラリを見ることもできますが、その場合もすべてのファイル セットを指定する必要があります。

別のビルド ツールを使用する機会がある場合は、間違いなく可能であるGradleをお勧めします。

于 2013-03-27T17:10:46.417 に答える