【发布时间】:2014-09-24 05:19:21
【问题描述】:
当我从 jboss-6.3-eap 迁移到 wildfly-8-1 时,我看到了以下错误:
Caused by: java.lang.ClassCastException: com.fasterxml.classmate.types.ResolvedRecursiveType cannot be cast to com.fasterxml.classmate.types.ResolvedObjectType
at com.fasterxml.classmate.TypeResolver._resolveSuperClass(TypeResolver.java:422)
at com.fasterxml.classmate.TypeResolver._constructType(TypeResolver.java:395)
at com.fasterxml.classmate.TypeResolver._fromClass(TypeResolver.java:351)
at com.fasterxml.classmate.TypeResolver._fromAny(TypeResolver.java:299)
at com.fasterxml.classmate.TypeResolver._fromParamType(TypeResolver.java:437)
at com.fasterxml.classmate.TypeResolver._fromAny(TypeResolver.java:305)
at com.fasterxml.classmate.TypeResolver._resolveSuperInterfaces(TypeResolver.java:409)
at com.fasterxml.classmate.TypeResolver._constructType(TypeResolver.java:395)
at com.fasterxml.classmate.TypeResolver._fromClass(TypeResolver.java:351)
at com.fasterxml.classmate.TypeResolver.resolve(TypeResolver.java:111)
at org.hibernate.validator.internal.util.ExecutableHelper.instanceMethodParametersResolveToSameTypes(ExecutableHelper.java:114)
at org.hibernate.validator.internal.util.ExecutableHelper.overrides(ExecutableHelper.java:98)
at org.hibernate.validator.internal.util.ExecutableHelper.overrides(ExecutableHelper.java:62)
at org.hibernate.validator.internal.metadata.aggregated.ExecutableMetaData$Builder.accepts(ExecutableMetaData.java:328)
at org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataImpl$BuilderDelegate.add(BeanMetaDataImpl.java:586)
at org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataImpl$BeanMetaDataBuilder.addMetaDataToBuilder(BeanMetaDataImpl.java:500)
at org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataImpl$BeanMetaDataBuilder.add(BeanMetaDataImpl.java:494)
at org.hibernate.validator.internal.metadata.BeanMetaDataManager.createBeanMetaData(BeanMetaDataManager.java:180)
at org.hibernate.validator.internal.metadata.BeanMetaDataManager.getOrCreateBeanMetaData(BeanMetaDataManager.java:207)
at org.hibernate.validator.internal.metadata.BeanMetaDataManager.isConstrained(BeanMetaDataManager.java:151)
at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:171)
我的应用程序在 jboss-6.3-eap 中运行良好,所有休眠配置都可以。我的休眠罐子是(我的库中没有同学罐子):
hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.7.Final.jar
hibernate-ehcache-3.6.7.Final.jar
hibernate-jpa-2.0-pi-1.0.1.Final.jar
hibernate-validator-4.1.0.Final.jar
我认为这个异常的产生是因为我的一些 jars 与 wildfly jars 冲突,我无法阻止 wildfly 加载它的默认休眠 jars。
【问题讨论】:
-
能否提供更多信息?
-
Some tips on using Hibernate in JBoss AS 7.0.0.Final 您是否尝试设置合适的部署结构.xml?也请查看How to Use Hibernate 3 in an Application。
-
我的应用程序在 jboss-6.3-eap 中运行良好,所有休眠配置都正常。
-
这基本上意味着您正在从两个不同的源(jar)加载同一个类。即,类加载/类路径问题。您和 wildfly 很可能正在加载不同版本的类似 jar(即休眠)。修复您的依赖关系,以便您只使用每个类的一个版本。