【问题标题】:bash command from Grails application来自 Grails 应用程序的 bash 命令
【发布时间】:2013-03-28 18:43:30
【问题描述】:

我正在使用 grails 应用程序,它需要像这样执行外部 bash 命令:

def cmd= "example".execute()
cmd.waitFor()

问题是这个命令在我从开发环境运行时执行得很好,但是当我将它部署到 tomcat 时,这个命令不再执行。

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

【问题讨论】:

  • 你部署的机器和你的开发一样吗?您可以使用 execute 在已部署的应用程序上运行其他命令吗?
  • 顺便说一句,看看这篇文章中的 Ian Roberts 解决方案是否有帮助 stackoverflow.com/questions/12533799/…

标签: shell grails groovy


【解决方案1】:

更新

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

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

“On ne sait pas ce que que que fait TaskService, ajoute du debug dans le code, ca va etre dur d'aider sans details”


尝试调试它,将此行放在执行调用之后。

cmd.text.eachLine { log.info it }

【讨论】:

  • 当我运行应用程序时它可以在不调用外部命令的情况下工作,这是首次亮相的结果:2013-03-28 10:38:09,401 [31353833@qtp0-0] 错误 StackTrace - 清理堆栈跟踪: exec 返回: 2 at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:636) at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:662) at 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)
猜你喜欢
  • 1970-01-01
  • 2013-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多