0

次のようなAntpath要素があるとします。

<path id="compile.classpath">
    <pathelement location="${common.jar}"/>
    <pathelement location="${servlet.jar}"/>
    <pathelement location="${j2ee.jar}"/>
    ...
</path>

すべてのファイル名を再度入力せずjarに、すべてのファイルを含むuber- を作成するにはどうすればよいですか? path以下は機能しますが、重複したコードが含まれており、私が望むものではありません:

<jar jarfile="uber.jar" ...>
    <manifest> ... </manifest>
    <zipfileset src="${common.jar}"/>     // UNWANTED code duplication
    <zipfileset src="${servlet.jar}"/>
    <zipfileset src="${j2ee.jar}"/>
</jar>
4

2 に答える 2

0

これを行うことができるはずです:

<jar destfile="über.jar">
    <manifest>
        <attribute name="Main-Class" value="${entry.point.class}"/>
    </manifest>
    <path refid="compile.classpath"/>
</jar>

に不要な重複コードcommon.jarが含まれる理由がわかりません。また、通常、jar の中に jar を含めません。

本当に作成したいのはWar Fileだと思います。war ファイルには、複数の jar と、実行するクラス (<javac>タスクを介してコンパイルしたもの) を含めることができます。META-INF/MANIFEST.MF ファイルに、Main-Class:war のエントリ ポイントとなるクラスを指すエントリを含めます。ユーザーは次のように戦争を実行できます。

 $ java -jar my.war
于 2013-01-14T14:41:41.363 に答える
0

または、マニフェスト ファイル内にリストされているクラスパスを使用して、実行可能な jar を作成することもできます。

于 2013-01-14T20:55:57.617 に答える