2009-08-04 81 views
2

我现在有这在我的Ant构建脚本:如何使用Ant exec任务执行Perl脚本?

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

然而,在运行的时候,我收到此错误信息:

[执行]无法打开 - 主要
[执行]结果:2

对我来说,那就是说我所拥有的是试图运行一个名为-major的文件,该文件不存在。该文件是version.pl,它采用-major的参数。

我该如何改变这个以参数-major运行version.pl?

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

回答

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消息什么的?是否应该有一个文件名通过,而不是主要的?

0

你可以试试这个:

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

在窗户是

+1

我应该指定我在Solaris上运行。不过,这是有效的建议,特别是因为我没有指定,所以我不会冷静下来。 – 2009-08-04 13:23:31

+0

此外,这是Ville Laurikari(现已删除)提出的不起作用的相同内容。产生相同的错误信息。 – 2009-08-04 14:09:58

0

试试这个,如果它的工作原理:

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

从蚂蚁EXEC DOC:

DIR:在应在其中执行该命令的目录。

,所以我想它做了CD到$目录和执行的是$可执行文件(家当集)