Ant常用用法调用java方法

时间:2010-03-04 14:06:24

标签: java ant

使用ant执行java类或方法的常见用法是什么。

如果运行ant run或restore,我需要在类中使用多个方法。运行和恢复都是相同java类的方法但是,我似乎无法通过运行来运行Class.beginExecution()和ant restore来执行Class.beginRestore()..

由于

3 个答案:

答案 0 :(得分:5)

您在寻找Java任务吗?您需要使用main方法为其提供类的完全限定名称,就像从命令行运行它一样。

答案 1 :(得分:2)

您有几个选择:

  1. 在此类上创建一个main方法,该方法接受一个指示正确方法的参数,调用main方法并使用Ant java任务。
  2. 创建一些虚拟类,这些类具有一个main方法,可以在类上调用正确的方法并使用上面的方法。
  3. 编写自己的Ant task来调用这个类,或者让这个类扩展Ant任务类(如果它不需要扩展其他任何东西就可以工作)。
  4. @ sunnyjava的解决方案非常聪明,使用Ant junit任务来调用调用你的类的JUnit测试。我没有看到超过#2的巨大优势,但是如果你使用JUnit 4+,你可以通过@Test注释你需要运行的方法。缺点是没有办法区分你在一个班级之前和之后。

答案 2 :(得分:0)

您需要使用main方法编写常规java类,并使用以下ant任务运行它:

<target name="run_main" depends="dist" description="--> runs main method of class YourMainClass">
    <java classname="test.com.YourMainClass"
          failonerror="true"
          fork="true">
        <sysproperty key="DEBUG" value="true"/>
        <arg value="${basedir}/"/>
        <classpath>
            <pathelement location="all.project.class.path"/>
        </classpath>
    </java>
</target>