2011-08-31 39 views
0

我想運行一個簡單的ant構建,它有一個在cygwin中運行bash shell腳本的目標。當我運行構建時,目標似乎運行,但可執行文件不運行。相反,我得到一個Java IO異常:創建過程錯誤= 193。如果我獨立運行腳本,它可以正常工作。當時我正在使用只有一個命令的test.sh,在屏幕上回顯一條消息。Ant創建進程錯誤cygwin

我明白,從cygwin運行腳本可能不是最佳實踐,但將腳本函數集成到ant構建中是我想要在完成此短期解決方案工作後執行的操作。

我的XML是如下...

<?xml version="1.0"?> 

<project name="TestProject" default="exec_build_config" basedir="."> 
<property name="test" location="test.sh"/> 
<target name="exec_build_config" > 
       <exec executable="${test}"> 
       </exec> 
     </target> 
</project> 

我的shell腳本...

#!/bin/sh 

echo "testing !!!" 

它只是不工作:(任何幫助,將不勝感激!謝謝

回答

0

您是否嘗試過相當於:

sh test.sh 

? (即將可執行文件指定爲sh並帶有關聯的參數)。

這樣做會告訴Ant執行sh與您的測試shell腳本的參數。我懷疑Java程序spawner機制不會遵守#!語法,因爲它是Unix特有的。

+0

不,這似乎不工作... – BON

+0

如何給它的可執行文件的完整路徑,如c:/some/path/sh.exe test.sh? – holygeek

0

在敲我的頭之後,我發現是什麼導致了這個問題。它看起來像一個QTP的安裝已經改變了我的一些環境變量,我重置這些後似乎工作得很好!不管怎麼說,還是要謝謝你!