没有主类的ant java jar

时间:2012-11-06 12:06:45

标签: java ant jar

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

很抱歉Typos之前

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

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

现在我想

<java jar /> 

这个jar文件通过将classname作为某种参数传递。可能的?

2 个答案:

答案 0 :(得分:2)

试试这个:

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

my.package.ClassWithMain是具有main方法的类的完全限定名,classpath应该指向包含jar的jar。

答案 1 :(得分:2)

您可以指示Ant的java任务使用jar文件作为类路径并直接运行主类,而不是运行jar文件。 E. g。使用以下任务,取自documentation of the java task

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

当然,您必须根据用例调整主要类别test.Main