当前位置: 首页 > 知识库问答 >
问题:

Weblogic 12.1.3:部署一致性应用程序时出错

申高卓
2023-03-14

我目前正在尝试调整现有应用程序以使用甲骨文一致性,即在EAR中嵌入一个GAR。应用程序部署到Weblogic 12.1.3。在将GAR嵌入EAR之前,可以毫无问题地部署应用程序。

在部署时,我收到此错误:

####<Feb 7, 2017 8:28:46 AM CET> <Error> <Deployer> <7fff0f95b4b8> <AdminServer> <[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1486452526709> <BEA-149265> <Failure occurred in the execution of deployment request with ID "6725384329688" for task "1". Error is: "weblogic.application.ModuleException: (Wrapped) Could not load cache configuration resource file:/home/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/myapp#1.0.0-SNAPSHOT/rmzguy/META-INF/coherence-cache-config.xml"
weblogic.application.ModuleException: (Wrapped) Could not load cache configuration resource file:/home/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/myapp#1.0.0-SNAPSHOT/rmzguy/META-INF/coherence-cache-config.xml
        at weblogic.coherence.container.server.CoherenceModule.activate(CoherenceModule.java:237)
        at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:114)
        at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:195)
        at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:190)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
        at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:61)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:145)
        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258)
        at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:61)
        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:587)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:339)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:846)
        at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1275)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:442)
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:176)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused By: java.io.IOException: Could not load cache configuration resource file:/home/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/myapp#1.0.0-SNAPSHOT/rmzguy/META-INF/coherence-cache-config.xml
        at com.tangosol.net.ScopedCacheFactoryBuilder.loadConfigFromURI(ScopedCacheFactoryBuilder.java:351)
        at com.tangosol.application.ContainerAdapter$ContainerCacheFactoryBuilder.buildFactory(ContainerAdapter.java:735)
        at com.tangosol.net.ScopedCacheFactoryBuilder.getFactory(ScopedCacheFactoryBuilder.java:267)
        at com.tangosol.net.ScopedCacheFactoryBuilder.getConfigurableCacheFactory(ScopedCacheFactoryBuilder.java:127)
        at com.tangosol.application.ContainerAdapter.activate(ContainerAdapter.java:155)
        at weblogic.coherence.container.server.CoherenceModule.activate(CoherenceModule.java:216)
        at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:114)
        at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:195)
        at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:190)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
        at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:61)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:145)
        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258)
        at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:61)
        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:587)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:339)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:846)
        at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1275)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:442)
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:176)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

显然,找不到缓存配置文件,但我不明白为什么。看起来GAR没有正确分解/解包,但我不知道为什么。

耳朵

耳朵内容物

myapp-1.0.0-SNAPSHOT.ear
`-- META-INF
   |-- application.xml
   |-- weblogic-application.xml
|-- myapp-webapp-1.0.0-SNAPSHOT.war
|-- forward-webapp-1.0.0-SNAPSHOT.war
|-- mygar-1.0.0-SNAPSHOT.gar

应用程序。xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
    "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
    "http://java.sun.com/dtd/application_1_3.dtd">
<application>
  <display-name>myapp</display-name>
  <module>
    <web>
      <web-uri>myapp-webapp-1.0.0-SNAPSHOT.war</web-uri>
      <context-root>/my/myapp-webapp</context-root>
    </web>
  </module>
  <module>
    <web>
      <web-uri>forward-webapp-1.0.0-SNAPSHOT.war</web-uri>
      <context-root>/my</context-root>
    </web>
  </module>
</application>

weblogic应用程序。xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application
   xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application"
   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/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.6/weblogic-application.xsd">
   <wls:application-param>
      <wls:param-name>webapp.encoding.default</wls:param-name>
      <wls:param-value>UTF-8</wls:param-value>
   </wls:application-param>
   <wls:module>
      <wls:name>mygar</wls:name>
      <wls:type>GAR</wls:type>
      <wls:path>mygar-1.0.0-SNAPSHOT.gar</wls:path>
   </wls:module>
   <wls:prefer-application-packages>
      <wls:package-name>org.slf4j.*</wls:package-name>
      <wls:package-name>org.apache.log4j.*</wls:package-name>
   </wls:prefer-application-packages>
   <wls:prefer-application-resources>
      <wls:resource-name>org.slf4j.*</wls:resource-name>
      <wls:resource-name>org.apache.log4j.*</wls:resource-name>
   </wls:prefer-application-resources>
</wls:weblogic-application>

GAR公司

GAR的内容

mygar-1.0.0-SNAPSHOT.gar
`-- META-INF
   |-- coherence-application.xml
   |-- coherence-cache-config.xml
`-- lib
   |-- jar1.jar
   |-- jar2.jar
   |-- ...
   |-- jarx.jar

相干应用。xml

<?xml version="1.0"?>
<coherence-application
   xmlns="http://xmlns.oracle.com/coherence/coherence-application">
   <cache-configuration-ref>META-INF/coherence-cache-config.xml</cache-configuration-ref>
</coherence-application>

有人知道出了什么问题吗?

由于我真的被困在这一点上,我只是尝试“手动”引爆EAR,即将EAR的内容解包到一个同名目录中,并在该目录中对WAR和GAR档案执行相同的操作。然后,我尝试部署它,它没有任何错误。

我现在更困惑了。部署分解的EAR与将EAR部署为存档有什么区别?如果您对此有任何帮助或想法,我们将不胜感激。

共有2个答案

吕承望
2023-03-14

这让我想起了一只虫子。请访问Oracle支持网站(Support.Oracle.com),查找错误21966507。

杜起运
2023-03-14

通过远程调试com,我终于发现了问题所在。tangosol。网ScopedCacheFactoryBuilder类。

事实证明,java.net.URL类无法使用file://协议处理URL中的#符号,因为URL在#符号之后被截断,所以

文件:/home/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/WL_user/myapp#1.0.0-SNAPSHOT/rmzguy/META-INF/coherence-cache-config。xml

被截断为

文件:/home/oracle/user\u projects/domains/base\u domain/servers/AdminServer/tmp/WL\u user/myapp

这确实不存在。

不幸的是,原始的IOException原因已丢失,因此在日志中不可见。

#用于EAR被分解到的临时文件夹的原因是我在EAR的MANIFEST. MF中设置了WebLogic-Application ation-Version属性。

因此,该问题的解决方案是从清单中删除WebLogic应用程序版本属性集。耳朵的MF。

 类似资料:
  • 我有一个Grails(2.5.3版)应用程序,当我通过选项:要部署的WAR文件在Tomcat中部署时,选择WAR文件,会出现以下错误。如果我尝试一个更简单的应用程序(大小、复杂度等),它运行得很好。 但是,如果在从manager运行应用程序时手动将war文件的内容复制到Tomcat路径:pathTomcat/webapps/myApplication,则效果良好。出现任何错误。 错误: Grail

  • 部署过程中出错:部署应用程序[EnterpriseApplication1]时出现异常:UnsupportedClassVersionError:类mn.interactive.module.meta.dao.MetadataDao的主要或次要版本号不受支持,这些版本号大于Java Runtime Environment版本1.7.0_02中的版本号。有关详细信息,请参阅server.log。 将

  • 当我在glassfish 4.1中部署war文件时,会出现以下异常

  • 错误:命令错误,退出状态为1:Command://app/.heroku/python/bin/python/app/.heroku/python/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel/tmp/tmp3b4z4ntu cwd://tmp/pip-i

  • 我正在尝试将我的应用程序部署到Heroku,但似乎存在一些问题。每次我尝试: 我的heroku日志告诉我,我的应用程序崩溃了,我错过了“调试器”宝石。我在Heroku上找到了这条线索和这一页。当我尝试安装“byebug”gem时,bundle告诉我它不会安装在Ruby 1.9.3上,当我按照Heroku的建议将“debugger”gem放在gem文件的开发组中时,我仍然会收到相同的错误。 我也更新

  • 我有一个vuejs应用程序,它是用vue cli设置的,我正在尝试将我的应用程序部署到Heroku。 这是我的服务器: 我从gitignore中删除dist, 我在package.json中添加了一个类似“start”的起始点:“node server.js” 以下是我在控制台看到的内容: 加载资源失败:服务器响应,状态为503(服务不可用)/Favicon.ico:1 以下是heroku日志: