[Grails] 在grails加载corba服务时抛java.lang.VerifyError错误,如何解决?

guozidong 2008-11-04
有哪位大侠对spring加载corba服务比较了解。目前我在grails框架下解析命名服务(org.jacorb.orb.ORB.resolve_initial_references("NameService"))时一直抛 java.lang.VerifyError: (class: org/jacorb/orb/Delegate, method: getReference signature: (Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;) Incompatible object argument for function call的错。请各位不吝赐教,谢谢!

我用的是grails1.0.1/jdk1.5/jacorb2.2
具体错误如下:

2008-11-04 09:51:20.182::WARN:  Failed startup of context org.mortbay.jetty.webapp.WebAppContext@12bf755{/ispp,D:\web_dev\ispp/web-app}
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'CORBAService' defined in URL [file:./grails-app/conf/spring/resources.xml]: Invocation of init method failed; nested exception is java.lang.VerifyError: (class: org/jacorb/orb/Delegate, method: getReference signature: (Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;) Incompatible object argument for function call
at java.security.AccessController.doPrivileged(Native Method)
at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
at Init_groovy$_run_closure6.doCall(Init_groovy:127)
at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:58)
at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
at gant.Gant.dispatch(Gant.groovy:271)
at gant.Gant.this$2$dispatch(Gant.groovy)
at gant.Gant.invokeMethod(Gant.groovy)
at gant.Gant.processTargets(Gant.groovy:436)
at gant.Gant.processArgs(Gant.groovy:372)
at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:101)
Caused by: java.lang.VerifyError: (class: org/jacorb/orb/Delegate, method: getReference signature: (Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;) Incompatible object argument for function call at org.jacorb.orb.ORB._getObject(Unknown Source)
at org.jacorb.orb.ORB.string_to_object(Unknown Source)
at org.jacorb.orb.ORB.resolve_initial_references(Unknown Source)
at gxlu.iwf.ems.corba.trans.interfaceWrapper.CorbaMgr.initORB(CorbaMgr.java:119)
at gxlu.iwf.ems.corba.trans.interfaceWrapper.CorbaMgr.initialize(CorbaMgr.java:68)
at gxlu.iwf.ems.corba.trans.interfaceWrapper.InterfaceWrapper.initialize(InterfaceWrapper.java:214)
at gxlu.netactivation.server.corba.CORBAUtil.initCORBA(CORBAUtil.java:53)
at gxlu.netactivation.server.corba.CORBAService.init(CORBAService.java:13)
... 14 more
guozidong 2008-11-27
编成war包放在tomcat下起服务就不会抛这个错了。难道是grails在用jetty启动服务时,默认将rt.jar 放在最后加入classpath,而rt.jar和jacorb.jar中omg.org下的类发生的冲突导致以上错误?费解啊......
Global site tag (gtag.js) - Google Analytics