weblogic的jar包沖突


異常:

Error creating bean with name 'sessionFactoryWrite' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:306)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1122)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
Truncated. see log file for complete stacktrace

使用spring + hibernate : 
本地tomcat下跑沒有異常,UAT環境忽然出現如下以上異常,主要問題是: java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z 出現這種異常通常是由於Myeclipse的javaee.jar 版本較低,與Hibernate等自帶的JPA出現了沖突。
無法初始化hibernate,sessionfactory。
這顯然是環境問題。

解決方案:

配置weblogic.xml,添加優先加載jar包:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
    <container-descriptor>
        <!--<prefer-web-inf-classes>true</prefer-web-inf-classes> -->
        <prefer-application-packages>
            <package-name>org.apache.commons.lang.*</package-name>
            <package-name>antlr.*</package-name>
            <package-name>org.hibernate.*</package-name>
            <package-name>javax.persistence.*</package-name>
            <package-name>org.apache.cxf.*</package-name>
        </prefer-application-packages>
    </container-descriptor>
    <context-root>/</context-root>
    <session-descriptor>
        <persistent-store-type>replicated_if_clustered</persistent-store-type>
        <cookie-name>JSESSIONID-vehicle</cookie-name>
    </session-descriptor>
</weblogic-web-app>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM