1

如何将此 unix 命令放入 ant 脚本中?

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>
4

3 回答 3

2

战争、耳朵和罐子只是简单的 zip 文件。您可以使用解压缩任务将其破解。您需要将示例中的 unix 命令分解为多个任务。

于 2013-09-19T16:31:28.530 回答
1

管道由 shell 解释,所以让 shell 解释这些。说:

<exec executable="sh">
  <arg value="-c"/>
  <arg value="jar -xvf test.ear out.war | jar -x ; cd directory ; jar -xvf ../out.war"/>
</exec>
于 2013-09-19T15:10:58.293 回答
0

可能你可以做这样的事情,只是为了确保你在 Unix OS 上运行 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>
于 2013-09-20T06:17:10.123 回答