如何使用Ant exec任务执行Perl脚本?

时间:2009-08-04 13:10:53

标签: perl ant exec

我目前在我的Ant构建脚本中有这个:

<exec dir="${basedir}" executable="perl">
    <arg line="${basedir}/version.pl -major"/>
</exec>

然而,当它运行时,我收到此错误消息:

  

[exec]无法打开-major
  [exec]结果:2

对我来说,我说我正在尝试运行名为-major的文件,该文件不存在。该文件是version.pl,它带有-major参数。

如何更改此选项以使用参数-major?

运行version.pl

请注意,我在Solaris计算机上运行ant脚本,但欢迎后台使用跨平台或其他操作系统的解决方案。

3 个答案:

答案 0 :(得分:5)

我制作了一个快速的小Perl脚本,并没有做很多事情并且运行它只是在Solaris机箱上使用Ant 1.5将命令行参数传递给它。

<project name="perly" basedir="." default="run">
    <target name="run">
        <exec executable="perl" dir="${basedir}">
            <arg value="version.pl"/>
            <arg value="-major"/>
        </exec>
    </target>
</project>

$ ant run

我不太明白你是怎么得到“无法打开 - 主要”。这是自定义的die消息吗?是否应该传递文件名而不是主要文件?

答案 1 :(得分:0)

你可以试试这个:

<exec executable="perl" dir="${basedir}">
    <arg value="version.pl"/>
    <arg value="-major"/>
</exec>

的窗口上

答案 2 :(得分:0)

尝试此操作:

<exec dir="${basedir}" executable="./test.pl">
   <arg line="-major"/>
</exec>

来自ant exec doc:

dir:应该执行命令的目录。

所以我猜它会对$ dir执行cd并执行$ executable(shebang set)