2

コマンドラインから正常に動作する独自のガントスクリプトを作成しました。次に、このスクリプトを grails プロジェクトから次のように実行する必要があります。

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_」というエラーが表示されます。

誰かがそれを機能させる適切な方法を知っていますか?

4

2 に答える 2

0

私自身の質問に答えます。主な問題は、次のようにフル パスを使用して 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()
于 2014-02-17T13:55:50.827 に答える