将应用升级到Grails 2后出现JBoss部署错误
问题描述:
我已将Grails应用从1.3.6升级到2.1.1。经过一些修复和整理后,运行应用程序的工作(大部分,仍然是一些弃用的问题来处理)。 Grails战争也没有错误地建立起来。将应用升级到Grails 2后出现JBoss部署错误
当我部署到JBoss的(4.2.2),但是,同样作为已经在做的Grails 1.3.6战争,我得到这个错误:
Caused by: javax.management.ReflectionException: Cannot find setter method setLoader StandardContext[null]
at org.apache.tomcat.util.modeler.ManagedBean.getSetter(ManagedBean.java:560)
at org.apache.tomcat.util.modeler.BaseModelMBean.setAttribute(BaseModelMBean.java:407)
at org.jboss.mx.server.RawDynamicInvoker.setAttribute(RawDynamicInvoker.java:70)
at org.jboss.mx.server.MBeanServerImpl.setAttribute(MBeanServerImpl.java:608)
at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:212)
at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
... 112 more
Caused by: java.lang.NoSuchMethodException: org.apache.catalina.core.StandardContext.setLoader(org.apache.catalina.Loader)
at java.lang.Class.getMethod(Class.java:1605)
at org.apache.tomcat.util.modeler.ManagedBean.getSetter(ManagedBean.java:553)
... 118 more
2012-11-08 16:09:51,604 INFO [org.jboss.web.tomcat.service.TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
2012-11-08 16:09:51,664 ERROR [org.jboss.deployment.scanner.URLDeploymentScanner] Incomplete Deployment listing:
--- Incompletely deployed packages ---
[email protected] { url=file:/usr/local/JBoss/jboss-4.2.2.GA/server/default/deploy/xxxxx-1.0.war }
deployer: MBeanProxyExt[jboss.web:service=WebServer]
status: Deployment FAILED reason: Error during deploy; - nested throwable: (javax.management.ReflectionException: Cannot find setter method setLoader StandardContext[null])
state: FAILED
watch: file:/usr/local/JBoss/jboss-4.2.2.GA/server/default/deploy/xxxxx-1.0.war
altDD: null
lastDeployed: 1352390987263
lastModified: 1352390987000
mbeans:
--- MBeans waiting for other MBeans ---
ObjectName: jboss.web.deployment:war=xxxxx-1.0.war,id=1556187143
State: FAILED
Reason: org.jboss.deployment.DeploymentException: Error during deploy; - nested throwable: (javax.management.ReflectionException: Cannot find setter method setLoader StandardContext[null])
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: jboss.web.deployment:war=xxxxx-1.0.war,id=1556187143
State: FAILED
Reason: org.jboss.deployment.DeploymentException: Error during deploy; - nested throwable: (javax.management.ReflectionException: Cannot find setter method setLoader StandardContext[null])
所以我想这是一个发生碰撞卡塔利娜在战争中的自由阶级,还有一个已经在jboss中?由于它在1.3.6时工作正常,它是否被添加到2.1.1 grails tomcat插件中并且是否可以从grails插件中排除子依赖项?
谢谢。
答
发现'解决方案',以防其他人在寻找。
的错误,如果我移动插件的声明从application.properties到BuildConfig.groovy消失。我不确定它是否实际上“修复”了它,或者它是否导致清理/重新安装可能已清除它的tomcat插件,但它删除了部署时的错误。
在此之后,我打另一个错误,与JBoss Hibernate的库比Grails中的那些2.1.1依赖旧的:
Caused by: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator.
(java.lang.Class, java.util.ResourceBundle, org.hibernate.validator.MessageInterpolator,
java.util.Map, org.hibernate.annotations.common.reflection.ReflectionManager)
该固定按照指示here告诉JBoss的使用应用程序的库而不是它自己的。