2014-02-14 135 views
2

我已經編寫了我自己的gant腳本,它可以在命令行中正常工作。現在,我需要從這樣的Grails項目運行此腳本:從grails項目執行gant腳本

def outputMessage 

try{ 

    GroovyScriptEngine engine = new GroovyScriptEngine("/www", this.getClass().getClassLoader()); 
    engine.run("scripts/MyOwnScript_.groovy", "param1 param2") 
    outputMessage = "<br> OK: Script run successfully" 
} 
catch (Exception e) { 
    outputMessage += "<br> ERROR: There has been running the script" 
} 

我得到的錯誤是「沒有這樣的屬性:includeTargets類:MyOwnScript_」,作爲我的GANT腳本需要一些其他的腳本。

有沒有人知道讓它正常工作的正確方法?

回答

0

回答我的問題的詳細信息,請參閱here。主要問題是我需要使用如下完整路徑運行grails:

Map<String, String> env = System.getenv() 
final processBuilder = new ProcessBuilder() 
processBuilder.directory(new File("folderFromWhereIWantToRunTheGantScript")) 
processBuilder.command([env['GRAILS_HOME']+"/bin/grails","MyOwnScript param1 param2"]) 
println processBuilder.directory() 
Process proc = processBuilder.start() 
proc.consumeProcessOutput(out, err) 

proc.waitFor() 
0

你有沒有試圖讓路徑腳本文件夾,執行外部程序像

["groovy", "scripts/MyOwnScript_.groovy", "param1", "param2"].execute() 

有關運行外部進程在常規