Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Ant构建多个JAR_Java_Eclipse_Ant - Fatal编程技术网

Java 使用Ant构建多个JAR

Java 使用Ant构建多个JAR,java,eclipse,ant,Java,Eclipse,Ant,我有多个JavaEclipse项目。它们每个都有用于构建jar的“jardesc”文件。这很好-双击->完成,jar文件就生成了。但当我必须出口几个罐子时,这是一件痛苦的事情——我必须重复这个过程好几次。 请告诉我,我可以使用Ant脚本一次运行几个“jardesc”文件(并根据每个jardesc文件获得几个JAR)吗?如何做?看看ant中的subant任务。您可以创建ant文件,该文件将调用其他文件 <subant target="create_jar1">

我有多个JavaEclipse项目。它们每个都有用于构建jar的“jardesc”文件。这很好-双击->完成,jar文件就生成了。但当我必须出口几个罐子时,这是一件痛苦的事情——我必须重复这个过程好几次。
请告诉我,我可以使用Ant脚本一次运行几个“jardesc”文件(并根据每个jardesc文件获得几个JAR)吗?如何做?

看看ant中的
subant
任务。您可以创建ant文件,该文件将调用其他文件

    <subant target="create_jar1">
        <fileset dir="." includes="jar2.xml"/>
    </subant>
    <subant target="create_jar2">
        <fileset dir="." includes="jar1.xml"/>
    </subant>


您可以使用一些循环来创建ant参数,但是没有办法循环来创建多个JAR(即使使用ant commons扩展),除非您想编写ant插件,否则复制粘贴是唯一可行的解决方案(阅读文档+编写简单插件不需要花那么多时间)

您可以使用jar目标为您制作jar:

    <jar destfile='destination.jar' basedir='source\dir\' />

因此,build.xml看起来有点像这样:

    <project default="makejars">
        <target name="makejars">
            <jar destfile="app1.jar" basedir="app1\src\" />
            <jar destfile="app2.jar" basedir="app2\src\" />
            <jar destfile="app3.jar" basedir="app3\src\" /> 
        </target>
    </project>


然后在build.xml所在的目录下运行ant,就应该创建jar。

这是对另一个构建jar的ant thask的调用还是对jardesc的调用。请说得更清楚些。ant-contrib有
用于
用于每个
任务