|
1.java.lang.AbstractMethodError:
引用
使用hibernate validator,在tomcat下部署没有问题,发布到weblogic(10)下面就报错了。在使用验证时有以下错误:
java.lang.AbstractMethodError: getProviderUtil
at javax.persistence.Persistence$PersistenceUtilImpl.isLoaded(Unknown Source)
出错原因是weblogic自身带有openjpa的包(hibernate、openjpa掐架?),解决方法是在spring中增加配置
dispatcher-servlet.xml
<mvc:annotation-driven validator="validator"/>
applicationContext.xml
<bean name="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="traversableResolver">
<bean class="com.....ExtTraversableResolver"></bean>
</property>
</bean>
其中ExtTraversableResolver代码如下:
import java.lang.annotation.ElementType;
import javax.validation.Path;
import javax.validation.TraversableResolver;
public class ExtTraversableResolver implements TraversableResolver {
public final boolean isReachable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType) {
return true;
}
public final boolean isCascadable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType) {
return true;
}
}
2.ava.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;
引用
C:\Program Files\Java\jdk1.6.0_30\jre\lib\ext\hibernate-jpa-2.0-api-1.0.0.Final.jar |
|