我在JUnit测试中使用了OpenEJB。它在jdk7上运行得很好。不幸的是,它不是从jdk1.8.0开始的。有什么想法吗?
C:\javaapps\jdk1.8.0\bin\java
...
10:31:11 SEVERE org.apache.openejb.util.OpenEJBErrorHandler handleUnknownError FATAL ERROR: Unknown error in Assembler. Please send the following stack trace and this message to users@openejb.apache.org :
java.lang.IllegalArgumentException
at org.apache.xbean.asm4.ClassReader.<init>(Unknown Source)
at org.apache.xbean.asm4.ClassReader.<init>(Unknown Source)
at org.apache.xbean.asm4.ClassReader.<init>(Unknown Source)
at org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:297)
at org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:163)
at org.apache.openejb.config.DeploymentLoader.checkAnnotations(DeploymentLoader.java:1871)
at org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1782)
at org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:388)
at org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:301)
at org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:647)
at org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:524)
at org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:575)
at org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:429)
at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:408)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:148)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:65)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:296)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:276)发布于 2014-03-26 21:04:46
是的,使用的asm与java 8年不兼容,应该很快就会这样了,希望能在4.7.0版本中得到它。
发布于 2014-03-21 01:12:57
我猜测EJB提供的asm库与java8不兼容。java类文件格式有一些新特性,看起来asm4在这方面遇到了一些问题。
https://stackoverflow.com/questions/22529016
复制相似问题