Apache Ant:执行后续目标,而无需等待完成

时间:2018-11-29 00:33:34

标签: java ant

首先,我检查了多个帖子,即: Run Ant target in background without using spawn=trueAnt target execution(Just execute, not wait to complete)

两者都没有帮助。

我正在使用Ant Apache,在脚本的末尾创建了一个.jar和一个.zip文件。

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

<target name= "zip" depends="run">
        <zip destfile="${zipname}" basedir=".">
</target>

如果我这样做,它将首先运行jar,打开程序窗口,并等待我关闭该窗口,然后再运行zip命令。

但是,我希望它运行.jar并创建zip文件,而无需等待先关闭运行创建的窗口。简单来说: 运行.jar并压缩文件,而无需等待运行被关闭。

我试图这样做:

<target name="run" depends="jar">
    <parallel>
        <daemons>
            <java jar="${jar.dir}/${ant.project.name}.jar" fork="true">
                <arg line="${args}"/>
            </java>
        </daemons>
    <parallel>
</target>

<target name= "zip" depends="run">
        <zip destfile="${zipname}" basedir=".">
</target>

这似乎行之有效。现在的问题是正常运行时弹出的窗口没有弹出,但是创建了.zip文件。

有什么办法可以解决此问题或任何替代方法?

预先感谢

另外,在旁注中:在编译或jar等程序中显示消息(在终端中,运行ant时)运行不显示任何消息是否正常?

1 个答案:

答案 0 :(得分:0)

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

spawn =“ true”为我工作。