java.lang.VerifyError:应为stackmap帧,错误:元素名称空间冲突
我们正在将应用程序jdk版本从jdk1.6迁移到jdk1.8,并在应用程序中使用JiBX1.2.2 但Jibx编译失败,出现以下错误java.lang.VerifyError:应为stackmap帧,错误:元素名称空间冲突,java,xml,java-8,binding,jibx,Java,Xml,Java 8,Binding,Jibx,我们正在将应用程序jdk版本从jdk1.6迁移到jdk1.8,并在应用程序中使用JiBX1.2.2 但Jibx编译失败,出现以下错误 [bind] Running binding compiler version jibx_1_2_2 [bind] Error running binding compiler [bind] java.lang.IllegalStateException: Error loading class java.lang.CharSequence:
[bind] Running binding compiler version jibx_1_2_2
[bind] Error running binding compiler
[bind] java.lang.IllegalStateException: Error loading class java.lang.CharSequence: Error reading path java/lang/CharSequence.class for class java.lang.CharSequence
[bind] at org.jibx.binding.classes.ClassCache$ClassCacheLocator.getClassInfo(ClassCache.java:291)
[bind] at org.jibx.binding.model.ClassHierarchyContext.accumulateInterfaces(ClassHierarchyContext.java:95)
[bind] at org.jibx.binding.model.ClassHierarchyContext.addTypedComponent(ClassHierarchyContext.java:121)
[bind] at org.jibx.binding.model.DefinitionContext.addFormat(DefinitionContext.java:529)
[bind] at org.jibx.binding.model.BindingElement.defineBaseFormat(BindingElement.java:843
在谷歌搜索和浏览邮件列表后,我们了解到BCEL5.x版本与JDK1.8之间存在问题
因此,我遵循以下两种方法
1) upgraded bcel 5.x har to bcel-6.0.jar But ended up with below error,
[bind] com.abc.model.external.GetList output file size is 5496 bytes
[bind] Error running binding compiler
[bind] java.lang.VerifyError: Expecting a stackmap frame at branch target 12
[bind] Exception Details:
[bind] Location:
[bind] com/abc/model/external/GetList.JiBX_FOSbinding_newinstance_1_0(Lcom/abc/model/external/ /GetList;Lorg/jibx/runtime/impl/UnmarshallingContext;)Lcom/model/external/GetList; @1: ifnonnull
[bind] Reason:
[bind] Expected stackmap frame at this location.
[bind] Bytecode:
[bind] 0x0000000: 2ac7 000b bb00 0559 b700 284b 2ab0
[bind] at java.lang.Class.getDeclaredMethods0(Native Method)
[bind] at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
[bind] at java.lang.Class.getDeclaredMethods(Class.java:1975)
[bind] Error: Conflicting element namespaces; on namespace element at (line 4, col 85, in CUpdate -binding.xml)
[bind] Error: Conflicting element namespaces; on namespace element at (line 2, col 98, in CUpdate _StandardHeaderBinding.xml)
[bind] Error: No namespace definition for URI http://intra.abc.com/css/2008/09; on structure element at (line 18, col 117, in CUpdate-binding.xml)
[bind] Error running binding compiler
[bind] org.jibx.runtime.JiBXException: Binding CUpdate -binding.xml is unusable because of validation errors
[bind] at org.jibx.binding.Utility.loadBinding(Utility.java:358)
[bind] at org.jibx.binding.Utility.loadFileBinding(Utility.java:420)
[bind] at org.jibx.binding.Compile.compile(Compile.java:217)
[bind] at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:248)
[bind] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
[bind] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
请帮助解决这个问题
谢谢你
[bind] Error: Conflicting element namespaces; on namespace element at (line 4, col 85, in CUpdate -binding.xml)
[bind] Error: Conflicting element namespaces; on namespace element at (line 2, col 98, in CUpdate _StandardHeaderBinding.xml)
[bind] Error: No namespace definition for URI http://intra.abc.com/css/2008/09; on structure element at (line 18, col 117, in CUpdate-binding.xml)
[bind] Error running binding compiler
[bind] org.jibx.runtime.JiBXException: Binding CUpdate -binding.xml is unusable because of validation errors
[bind] at org.jibx.binding.Utility.loadBinding(Utility.java:358)
[bind] at org.jibx.binding.Utility.loadFileBinding(Utility.java:420)
[bind] at org.jibx.binding.Compile.compile(Compile.java:217)
[bind] at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:248)
[bind] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
[bind] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)