运行UNIX命令ant脚本 - build.xml文件(Run UNIX command in a

2019-10-18 15:35发布

如何在ant脚本把这个unix命令?

jar -xvf test.ear out.war | jar -x ; cd directory ; jar -xvf ../out.war

将这项工作?

<target name="unear">
    <echo>***Un-tarring***</echo>
    <exec executable="jar" outputproperty="noOfFiles">
         <arg value="-xvf" />
         <arg value="test.ear out.war" />
         <arg value="|" />
         <arg value="jar" />
         <arg value="-x" />
         <arg value=";" />
         <arg value="cd directory" />
         <arg value=";" />
         <arg value="jar" />
         <arg value="-xvf" />
         <arg value="../out.war" />
    </exec>
</target>

Answer 1:

战争,耳朵和罐子是简单的ZIP文件。 您可以使用解压缩任务来破解它打开。 你需要在你的榜样,打破了UNIX命令转换成多个任务。



Answer 2:

管道由shell来解释,所以使外壳解释这些。 说:

<exec executable="sh">
  <arg value="-c"/>
  <arg value="jar -xvf test.ear out.war | jar -x ; cd directory ; jar -xvf ../out.war"/>
</exec>


Answer 3:

可能是你可以做这样的事情,只是为了确保您正在运行的UNIX在Unix操作系统命令和您可以运行任何一套UNIX的一个脚本里面包裹的命令:

<condition property="is.unix">
       <os family="unix"/>
</condition>

<if>
    <istrue value="${is.unix}"/>
<then>

<chmod file="${script.locater.path}/your_script.ksh" perm="755"/>
<exec executable="${script.locater.path}/your_script.ksh"
  dir="${from.dir.you.want.to.execute}">
</exec>


文章来源: Run UNIX command in ant script - build.xml
标签: java unix ant