1

私は、複数の Jar ファイルを成果物として Jar に結合する方法を見つけようと研究してきました。

ディレクトリには、次のコード全体で構成される Jar_gen.xml という名前の ant ファイルがあります。

<target name="combine-jars">
    <jar destfile="out.jar">
        <zipgroupfileset dir="lib" includes="*.jar"/>
    </jar>
</target>

その同じディレクトリに、フラット化したいすべての Jar ファイルを含む lib という名前の別のディレクトリがあります。

私はantスクリプトを実行しています

ant -buildfile Jar_gen.xml

Jar_gen.xml ファイルと同じディレクトリから実行していることを確認します。

Ant スクリプトから出力が得られず、その理由がわかりません。すべての jar ファイルをフラット化し、成果物パッケージの作成を続行できるように、誰かがスクリプトを修正するのを手伝ってくれませんか。

ノート

メイン クラスがないため、Eclipse の実行可能な Jar は機能しません。

私は Ant スクリプトを実行した経験がほとんどないため、完全な回答は非常に役に立ちます。

4

1 に答える 1

4

ディレクトリ構造は正しく設定されていますか?

あなたのスクリプトを使用して簡単なテストを作成しました。

project_root_dir
- build.xml
- lib
  - a.jar
  - b.jar

build.xml は次のようになります。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="test">
    <target name="combine-jars">
        <jar destfile="out.jar">
            <zipgroupfileset dir="lib" includes="*.jar"/>
        </jar>
    </target>
</project>

project_root_dir に移動して「ant Combine-jars」を実行すると、a.jar と b.jar の両方の内容を含む out.jar が得られます。

于 2013-09-24T18:08:33.527 に答える