簡體   English   中英

將應用程序升級到Grails 2后,JBoss部署錯誤

[英]JBoss deploy error after upgrading app to Grails 2

我已經將Grails應用程序從1.3.6升級到2.1.1。 經過修復和整理后,運行應用程序可以正常工作(在大多數情況下,仍然存在一些已過時的問題要處理)。 戰爭的建立也沒有錯誤。

但是,當我部署到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 ---
org.jboss.deployment.DeploymentInfo@5cc18807 { 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])

因此,是否認為這是戰爭中lib中的catalina類與jboss中已經存在的catalina類之間的碰撞? 當它在1.3.6上運行正常時,是否已將其添加到2.1.1 grails tomcat插件中,並且可以從grails插件中排除子依賴項嗎?

謝謝。

找到“解決方案”,以防萬一其他人正在尋找。

如果我將插件的聲明從application.properties移到BuildConfig.groovy,則錯誤消失。 我不確定它是否確實“修復”了它,或者它是否引起了tomcat插件的清理/重新安裝(可能已將其清除),但是它消除了部署時的錯誤。

此后,我遇到了另一個錯誤,JBoss休眠庫比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)

通過按照此處的指示告訴JBoss使用該應用程序的庫而不是其自身的庫,可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM