Weblogic 10.3.4 上的 Exploded EAR 部署失败

Posted

技术标签:

【中文标题】Weblogic 10.3.4 上的 Exploded EAR 部署失败【英文标题】:Exploded EAR deployment fails on Weblogic 10.3.4 【发布时间】:2013-09-01 09:25:22 【问题描述】:

我一直在尝试通过管理控制台在 Weblogic 上部署/启动爆炸的 EAR,但失败并出现以下错误:

BEA-149004> <Failures were detected while initiating start task for application 'xyz'.> 
####<Sep 1, 2013 4:10:51 AM CDT> <Warning> <Deployer>  <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1378026651456> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: 
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate    
...
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused By: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:626)
        at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308)
 ....
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)

我无法找出这些日志问题的原因。

分解后的 EAR 具有以下文件夹结构: 1) lib 目录 - 由 jars 组成 2)META-INF目录——由application.xml、weblogic-application.xml组成 3)war目录——有jsps、WEB-INF文件夹(有weblogic.xml)

如果您需要更多详细信息,请告诉我。请帮忙!

【问题讨论】:

【参考方案1】:

我自己设法解决了这个问题。以下是详细信息,以防有人感兴趣:

我修改了 weblogic-application.xml(位于我的应用程序 EAR>META-INF 文件夹下)以包含 org.hibernate.* 和 javax.persistence.* 包。重新启动服务器并重新部署 EAR(已爆炸)。我不再看到错误,并且部署成功。

 .....
<prefer-application-packages>
     ......
            <package-name>org.hibernate.*</package-name>
            <package-name>javax.persistence.*</package-name>
        </prefer-application-packages>

    .......

【讨论】:

以上是关于Weblogic 10.3.4 上的 Exploded EAR 部署失败的主要内容,如果未能解决你的问题,请参考以下文章

weblogic补丁之PSU补丁安装与下载

weblogic补丁之PSU补丁安装与下载

在 weblogic 服务器上部署进程时出现超时错误

虚拟机/Eclipse 运行时环境上的 WebLogic

weblogic上的类路径和类加载

Grails 应用程序 - Tomcat 与 Weblogic 上的 JNDI