0

Main-Class属性なしで作成されたjarファイルを実行するjavajarをantする必要があります。ant Javaタスクのドキュメントには、jarファイルにMain-Classマニフェストが必要であると記載されています。
方法はありますか?

以前のタイプミスでごめんなさい

JARを作成するためのbuild.xmlの一部-メインクラスなし

<target name = "createJar" depends = "javac">
<jar destfile = "./sampleJar.jar"
     basedir = "build/classes"
 />
</target>

今私はしたい

<java jar /> 

このjarファイルは、クラス名をある種の引数として渡すことによって作成されます。可能?

4

2 に答える 2

2

これを試して:

<java classname="my.package.ClassWithMain">
     <classpath>
       <pathelement location="sampleJar.jar"/>
       <pathelement path="${java.class.path}"/>
     </classpath>
</java>

my.package.ClassWithMainmain メソッドを持つクラスの完全修飾名であり、クラスパスは jar を含む jar を指す必要があります。

于 2012-11-06T14:48:18.537 に答える
2

jar ファイルを実行する代わりに、Ant のjavaタスクに jar ファイルをクラスパスとして使用し、メイン クラスを直接実行するように指示します。例)タスクのドキュメントjavaから取得した、次のようなタスクを使用します

 <java classname="test.Main">
   <classpath>
     <pathelement location="./sampleJar.jar"/>
     <pathelement path="${java.class.path}"/>
   </classpath>
 </java>

もちろん、test.Mainユースケースに合わせてメインクラスの名前を調整する必要があります。

于 2012-11-06T14:48:23.903 に答える