2

我目前在我的 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 脚本,但后代欢迎跨平台或其他操作系统的解决方案。

4

3 回答 3

5

I made a quick little Perl script that didn't do a whole lot and ran it just fine passing command line arguments to it using Ant 1.5 on a Solaris box.

<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

What I can't quite understand is how you are getting "Could not open -major". Is this a custom die message or something? Is there supposed to be a filename passed instead of major?

于 2009-08-04T16:43:33.707 回答
0

你可以试试这个:

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

在窗户上

于 2009-08-04T13:19:14.820 回答
0

如果它有效,试试这个:

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

来自 ant exec 文档:

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

所以我猜它对 $dir 做了一个 cd 并执行 $executable (shebang set)

于 2009-08-04T15:01:07.210 回答