我有一个包含多个可执行类的jar文件,如何运行使用ant目标的main方法?
由于
答案 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目标更可取。