2009-08-04 111 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到$目錄和執行的是$可執行文件(家當集)