首先,我检查了多个帖子,即: Run Ant target in background without using spawn=true 和 Ant 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时)运行不显示任何消息是否正常?
答案 0 :(得分:0)
<target name="run" depends="jar">
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true" spawn="true" >
</java>
</target>
Java中的spawn =“ true”为我工作。