0

我需要 ant java jar 执行一个没有 Main-Class 属性创建的 jar 文件。ant Java 任务的文档说 jar 文件必须有一个 Main-Class 清单。
有什么办法吗?

抱歉之前有错别字

用于创建 JAR 的 build.xml 的一部分 - 没有 Main-Class

<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.ClassWithMain是具有 main 方法的类的完全限定名称,类路径应指向包含该 jar 的 jar。

于 2012-11-06T14:48:18.537 回答
2

您将指示 Ant 的java任务使用 jar 文件作为类路径并直接运行主类,而不是运行 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 回答