Webapp部署失败,接口在类加载器异常中不可见

问题描述 投票:0回答:1

我有一个新的weblogic 12c服务器,我试图部署一个基于Spring的基于hibernate的Webapp,部署失败,但有以下异常:

<Mar 13, 2019 12:58:51,096 PM IST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "346350192983496" for task "0" on [partition-name: DOMAIN]. Error is: "weblogic.application.ModuleException: java.lang.IllegalArgumentException: interface javax.persistence.EntityManagerFactory is not visible from class loader"
weblogic.application.ModuleException: java.lang.IllegalArgumentException: interface javax.persistence.EntityManagerFactory is not visible from class loader
        at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
        at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:192)
        at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:187)
        at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:83)
        Truncated. see log file for complete stacktrace
Caused By: java.lang.IllegalArgumentException: interface javax.persistence.EntityManagerFactory is not visible from class loader
        at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:581)
        at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:557)
        at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:230)
        at java.lang.reflect.WeakCache.get(WeakCache.java:127)
        at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:419)
        Truncated. see log file for complete stacktrace

我使用的是基于java 8的Web应用程序,这里是不同解决方案/库的版本:Weblogic:12.2.1.3.0 spring:5.0.6 hibernate:5.1.0

weblogic.xml中:

<weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">

<context-root>/iamws/adc</context-root>
<wls:container-descriptor>
    <wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
    <wls:prefer-application-packages>
        <wls:package-name>org.springframework.*</wls:package-name>
        <wls:package-name>org.joda.*</wls:package-name>
        <wls:package-name>com.sun.activation.*</wls:package-name>
        <wls:package-name>javax.activation.*</wls:package-name>
        <wls:package-name>com.sun.mail.*</wls:package-name>
        <wls:package-name>javax.mail.*</wls:package-name>
        <wls:package-name>org.slf4j.*</wls:package-name>
        <wls:package-name>org.jboss.*</wls:package-name>
        <wls:package-name>org.apache.log4j.*</wls:package-name>
        <wls:package-name>javax.persistence.*</wls:package-name>
    </wls:prefer-application-packages>
</wls:container-descriptor>

</weblogic-web-app>
java spring hibernate web-applications weblogic12c
1个回答
0
投票

我能够通过在weblogic.xml中添加以下内容来解决这个问题:

<wls:package-name>org.hibernate.*</wls:package-name>
© www.soinside.com 2019 - 2024. All rights reserved.