有没有办法让Ant创建一个shell或批处理运行时脚本?

Mat*_*coe 4 java ant shell

有没有办法让Ant创建运行时shell或批处理运行时脚本,而不必自己手动创建脚本.

它类似于链接文本的功能

mar*_*ton 5

是的,可以做到.这是一个简单的例子(你的链接现在不能正常工作......抛出sourceforge错误).基本思想是使用echo任务编写文件,然后使用exec任务运行它:

<property name="myls" value="myls.sh" />
<echo file="${myls}">
ls
</echo>
<exec executable="sh">
    <arg value="${myls}"/>
</exec>
Run Code Online (Sandbox Code Playgroud)

运行时提供以下内容,因为工作目录仅包含构建文件和脚本:

Buildfile: build.xml
     [exec] build.xml
     [exec] myls.sh
Run Code Online (Sandbox Code Playgroud)

这当然是特定于unix的,但是你可以在其他系统上做同样好的事情 - 对于Windows你可以改变cmd我认为的可执行文件.如果需要,您可以进一步将参数传递给新脚本.例如:

<property name="myls" value="myls.sh" />
<echo file="${myls}">
ls $@
</echo>
<exec executable="sh">
    <arg value="${myls}"/>
    <arg value="b*"/>
</exec>
Run Code Online (Sandbox Code Playgroud)

现在运行时只看到构建文件:

Buildfile: build.xml
     [exec] build.xml
Run Code Online (Sandbox Code Playgroud)