我正在尝试通过运行grails tomcat deploy
来通过tomcat插件部署Grails应用。这样做时效果非常好,除了WAR文件中的所有配置都是它们的开发值(例如,开发数据源试图从我部署的WAR文件中使用)。
然后我尝试运行grails prod tomcat deploy
,并发生以下错误:
| Done creating WAR target/app##0.1-build-004.war
Deploying application /app to Tomcat
| Error Error executing script Tomcat: : java.io.IOException: Error writing request body to server (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
: java.io.IOException: Error writing request body to server
at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:267)
at org.apache.catalina.ant.DeployTask.execute(DeployTask.java:195)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.codehaus.gant.GantBuilder.invokeMethod(GantBuilder.java:99)
at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:141)
at Tomcat$_run_closure1.doCall(Tomcat:31)
at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)
at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)
at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)
at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)
at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)
at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)
at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)
at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)
at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)
at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)
at gant.Gant.withBuildListeners(Gant.groovy:427)
at gant.Gant.this$2$withBuildListeners(Gant.groovy)
at gant.Gant$this$2$withBuildListeners$0.callCurrent(Unknown Source)
at gant.Gant.dispatch(Gant.groovy:415)
at gant.Gant.this$2$dispatch(Gant.groovy)
at gant.Gant.invokeMethod(Gant.groovy)
at gant.Gant.executeTargets(Gant.groovy:591)
at gant.Gant.executeTargets(Gant.groovy:590)
Caused by: java.io.IOException: Error writing request body to server
at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:220)
... 24 more
| Error Error executing script Tomcat: : java.io.IOException: Error writing request body to server
有谁知道为什么会这样?我正在使用Grails 2.4.4和Java 7u71。
答案 0 :(得分:0)
对于tomcat 7+,您需要在tomcat-users.xml中为您的用户添加manager-script角色。
Tomcat 7 如果您使用的是Tomcat 7,请确保用户具有manager-script角色
<user username="manager" password="secret" roles="manager-script" />