【问题标题】:ant java jar without main class没有主类的ant java jar
【发布时间】:2012-10-26 09:16:23
【问题描述】:

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

抱歉之前有错别字

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

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

现在我想

<java jar /> 

这个 jar 文件通过传递类名作为某种参数。可能吗?

【问题讨论】:

  • 请附上您的build.xml文件
  • “ant jar 文件”是什么意思?你想做什么?

标签: java ant jar


【解决方案1】:

试试这个:

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

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

【讨论】:

    【解决方案2】:

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

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

    当然,您必须根据您的用例调整主类的名称test.Main

    【讨论】:

    • 哈,我快了五秒! ;-)
    • @UdoKlimaschewski 是的,直到我发布了我的答案,我才看到你的答案;)我会 +1 你的。
    • 谢谢你,我会回复你+1,照片完成了。
    猜你喜欢
    • 2011-01-11
    • 2011-10-31
    • 2015-07-22
    • 2017-08-22
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    相关资源
    最近更新 更多