首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从grails项目执行gant脚本

从grails项目执行gant脚本
EN

Stack Overflow用户
提问于 2014-02-14 17:12:19
回答 2查看 332关注 0票数 2

我已经编写了自己的gant脚本,它在命令行中工作得很好。现在,我需要从这样的grails项目中运行这个脚本:

代码语言:javascript
复制
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"
}

由于我的gant脚本需要一些其他脚本,所以我得到的错误是“MyOwnScript_:includeTargets for class: MyOwnScript_”。

有谁知道让它正常工作的正确方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-17 13:55:50

回答我自己的问题。主要问题是,我需要使用完整的路径运行grails,如下所示:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2014-02-17 13:19:14

您是否尝试获取到脚本文件夹的路径并执行外部进程,如

代码语言:javascript
复制
["groovy", "scripts/MyOwnScript_.groovy", "param1", "param2"].execute()

有关在groovy中运行外部进程的更多信息,请参见这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21785449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档