添加ant目标以从jar文件中运行类

时间:2010-11-29 10:53:58

标签: java ant

我有一个包含多个可执行类的jar文件,如何运行使用ant目标的main方法?

由于

3 个答案:

答案 0 :(得分:7)

看看Ant Java Task。您应该能够创建如下所示的目标:

<target name="mytarget" description="runs my class" >
  <java classname="test.Main">
    <classpath>
      <pathelement location="dist/test.jar"/>
    </classpath>
  </java>
</target>

替代方案,使用Ant Exec Task

<target name="mytarget" description="runs my class">
     <exec executable="java">
       <arg line="-classpath dist/test.jar test.Main"/>
     </exec>
</target>

答案 1 :(得分:3)

使用ant的java任务:

<java fork="yes" classname="com.example.Class" failonerror="true">
  <classpath>
    <pathelement path="path/to/jar/containing/the/com.example.Class"/>
    ...
  </classpath>
  ...
</java>

答案 2 :(得分:3)

首先,您必须确定将哪个类用作入口点。

我们假设该类为com.mycompany.Main

在这种情况下,如果您希望从命令行运行应用程序,请说

java -cp my.jar com.mycompany.Main

现在您可以将其作为java程序运行:

   <java classname="com.mycompany.Main">
     <classpath>
       <pathelement location="myjar.jar"/>
     </classpath>
   </java>

(见http://ant.apache.org/manual/Tasks/java.html

或将其作为通用外部流程运行:

                    

(见http://ant.apache.org/manual/Tasks/exec.html)。

我认为使用java目标更可取。