Shell Grails应用程序中的bash命令

Shell Grails应用程序中的bash命令,shell,grails,groovy,Shell,Grails,Groovy,我在grails应用程序中工作,该应用程序需要执行外部bash命令,如下所示: def cmd= "example".execute() cmd.waitFor() 问题是,当我从开发环境运行这个命令时,它执行得很好,但是当我将它部署到tomcat中时,这个命令就不再执行了 有人能帮我解决这个问题吗?更新 看起来您正在从TaskService调用Ant任务 如果没有您的代码,或者您添加了更多的调试,将很难提供帮助 “在一个任务服务上,调试代码的路径,可以在无尾随的情况下运行” 试着调试它,把

我在grails应用程序中工作,该应用程序需要执行外部bash命令,如下所示:

def cmd= "example".execute()
cmd.waitFor()
问题是,当我从开发环境运行这个命令时,它执行得很好,但是当我将它部署到tomcat中时,这个命令就不再执行了


有人能帮我解决这个问题吗?

更新

看起来您正在从TaskService调用Ant任务

如果没有您的代码,或者您添加了更多的调试,将很难提供帮助

“在一个任务服务上,调试代码的路径,可以在无尾随的情况下运行”


试着调试它,把这一行放在execute调用之后

cmd.text.eachLine { log.info it }

当我运行应用程序时,它不调用外部命令就可以工作,这是首次亮相的结果:2013-03-28 10:38:09401[31353833@qtp0-0]错误StackTrace-清理StackTrace::exec返回:org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:636)处的2,org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:662)在org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:487)在org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)在org.apache.tools.ant.Task.perform(Task.java:348)在TaskService.invite(TaskService.groovy:26)上部署的机器与开发的机器相同吗?您可以使用execute在部署的应用程序上运行其他命令吗?顺便说一句,查看本文中的Ian Roberts解决方案,看看是否有帮助