Apache Ant:从同一build.xml运行两个Java程序

时间:2018-12-06 15:59:15

标签: java ant

我想使用一个(相同)ant文件运行2个类似的Java程序。

我有下面的build.xml

<project name ="Project" basedir="." default="main">


<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="main-class" value="implementation1.Main"/>


<target name="main" depends="clean,zip"/>

<target name="build">
    <mkdir dir="build"/>
</target>

<target name="clean">
    <delete dir="${build.dir}"/>
    <delete file ="${zipname}"/>
</target>


<target name = "compile">
    <mkdir dir = "${classes.dir}"/>
    <javac srcdir="." destdir="${classes.dir}" includeantruntime="false"/>
</target>


<target name="jar" depends="compile">
    <mkdir dir="${jar.dir}"/>
    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
    <manifest>
        <attribute name="Main-Class" value="${main-class}"/>
    </manifest>
    </jar>
</target>


<target name="run" depends="jar">
    <java jar="${jar.dir}/${ant.project.name}.jar" fork="true" spawn="true" >
    </java>
</target>

在build.xml所在的目录中,有一个“ src”文件夹。 在路径./src/implementation1/ 我的项目有.java文件,文件夹Implementation1中有一个单独的主文件。当我在文件夹中运行ant时,它会起作用。

但是,我的项目还有另一个(替代)实现,将其命名为projectAlt.java,它存储在文件夹./src/implementation2中。

问题1:当我在src中使用文件夹Implementation2运行ant时,出现很多错误。如果我删除文件夹,则蚂蚁可以正常工作。

问题2:如何以先执行Implementation1然后执行Implementation2的方式进行设置?

我已经说得很清楚了。提前致谢。

1 个答案:

答案 0 :(得分:0)

最后,我 为了在日食中制作类似的包装结构,罐子现在每个制造2个罐子, 2个不同的主类,每个主类分别由各自的运行调用运行。