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

WebLogic应用程序中没有任何组件

怀经赋
2023-03-14

我们正在升级一个J2EE应用程序(JSP

日志中显示以下内容:

####<Sep 26, 2016, 6:16:08,62 PM EDT> <Error> <Deployer> <CVG-000216B-010> <BaseServer> <[STANDBY] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <9b2f9073-e2d2-4c02-915c-4e5de240621e-00000012> <1474928168062> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-149265> <Failure occurred in the execution of deployment request with ID "25758041366812" for task "0" on [partition-name: DOMAIN]. Error is: "weblogic.management.DeploymentException: Application [MyApp] does not have any Components in it."
weblogic.management.DeploymentException: Application [MyApp] does not have any Components in it.
    at weblogic.jdbc.module.JDBCDeployment.createModule(JDBCDeployment.java:40)
    at weblogic.jdbc.module.JDBCDeployment.<init>(JDBCDeployment.java:25)
    at weblogic.jdbc.module.JDBCDeploymentFactory.createDeployment(JDBCDeploymentFactory.java:79)
    at weblogic.application.internal.DeploymentManagerImpl.createDeployment(DeploymentManagerImpl.java:186)
    at weblogic.application.internal.DeploymentManagerImpl.access$700(DeploymentManagerImpl.java:52)
    at weblogic.application.internal.DeploymentManagerImpl$DeploymentCreatorImpl.createDeployment(DeploymentManagerImpl.java:583)
    at weblogic.deploy.internal.targetserver.BasicDeployment.createDeployment(BasicDeployment.java:231)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:223)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:103)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:241)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:794)
    at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1340)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:267)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:177)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:186)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:14)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:47)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:666)
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
> 

应用程序确实安装(State=“Installed”),但无法启动。如果我们删除并重新安装它,则不会发生错误,其状态为“活动”,我们可以测试应用程序。然而,当服务器重新启动时,上述异常会出现在日志中,并且应用程序处于“ADMIN”状态。它无法启动,因此我们将其删除,并通过管理控制台重新安装,然后运行它,让我们对其进行测试。

应用程序中确实有J2EE组件,至少是web应用程序,因为这是我们正在测试的。一旦我们删除应用程序并从管理控制台重新安装它,我们就会在部署摘要页面的“模块和组件”部分看到web应用程序、所有EJB和EJB模块。

我们查看了WebLogic代码,找到了产生错误的地方。似乎没有为应用程序生成组件MBean。这来自weblogic。jdbc。单元JDBCDeployment类:

private static Module createModule(AppDeploymentMBean mbean) throws DeploymentException {
    ComponentMBean[] c = mbean.getAppMBean().getComponents();
    if ((c == null) || (c.length == 0)) {
        throw new DeploymentException("Application " + ApplicationVersionUtils.getDisplayName(mbean) + " does not have any Components in it.");
    }
    --[snipped]--

我们需要做什么来部署分解的EAR,以便WebLogic 12c在应用程序最初加载时识别组件?

提前感谢您可能有的任何帮助或见解。

共有1个答案

屠华辉
2023-03-14

多亏了Emmanuel Collin的建议,通过重命名与应用程序同名的数据源解决了此问题。

  1. 删除应用程序

应用程序安装没有错误,并且在服务器启动后可用。

 类似资料:
  • 我已经创建了一个Spring Boot和RestAPI应用程序项目。所有东西都运行并执行,但它没有在后端(MySQL)中创建任何表。它在控制台中也没有显示任何错误。我对spring boot和API是新手。 下面是我的代码: user.java: 我尝试添加spring.jpa.hibernate.ddl-auto=update和spring.jpa.hibernate.ddl-auto=crea

  • 我们正在运行weblogic,似乎有内存泄漏-我们最终用完了堆空间。 我们在服务器上有5个应用程序(5个war部署)。 您能想到一种方法来收集每个应用程序的内存使用情况吗? (然后我们可以通过查看相应应用程序中的代码来集中搜索。) 我已经运行jmap来获取堆转储并在jvisualvm中加载结果,但不清楚大部分对象来自何处——例如字符串。 我在想,weblogic可能会在每个应用程序中使用单独的类加

  • 我目前正在开发一个weblogic 10应用服务器,它安装了几个EAR。我收到一个请求,要求更改某些AP的应用程序名称,因为它们出现在 家 我去了合适的计划。xml并使用适当的名称更改,重新启动了域,但名称没有更改。 有什么想法吗?

  • 应用程序崩溃,我会得到以下错误: 致命异常:主进程:com.example.ayyan.JellyBeanEstimator,pid:2960 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.ayyan.JellyBeanEstimator/com.example.ayyan.JellyBeanEstimator.MainAc

  • 在webLogic 12C中部署Spring boot应用程序时遇到问题。 10.4.4 403禁止服务器理解请求,但拒绝满足它。授权将无济于事,请求不应该重复。如果请求方法不是HEAD,并且服务器希望公开请求未被满足的原因,它应该在实体中描述拒绝的原因。当服务器不想透露请求被拒绝的确切原因时,或者当没有其他响应适用时,通常使用此状态代码。 我想知道是否有人能帮忙。

  • 在图片中,我想更改应用程序名称仅"应用程序"强文本 我可以更改或更新部署的应用程序名称而不停止托管服务器? 一段时间后的其他信息。如果您想在weblogic wlst控制台中更改应用程序名称,它会接收错误消息。 这表明weblogic Application ationName属性是只读属性。