WebLogic 서비스 8.1에서 12c (12.2.1.1.0)로 J2EE 응용 프로그램 (JSP & EJB 2.0)을 업그레이드하고 있습니다. 우리는 도메인 디렉토리의 디렉토리에 분해 된 EAR을 구축 중입니다. 우리는 응용 프로그램을 배포하기 위해 관리 콘솔을 사용하지만 로그에 weblogic.management.DeploymentException: Application <appname> does not have any Components in it.
WebLogic 응용 프로그램에 아무 구성 요소도 없습니다
다음이 나타납니다와 함께 실패합니다
####<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)
>
응용은 (국가는 = "설치")를 설치 않지만 시작할 수 없습니다. 삭제하고 다시 설치하면 오류가 발생하지 않으며 상태가 "활성"이며 응용 프로그램을 테스트 할 수 있습니다. 그러나 서버가 다시 시작되면 위의 예외가 로그에 나타나고 앱이 "ADMIN"상태에 있습니다. 시작될 수 없으므로 삭제하고 다시 관리 콘솔을 통해 다시 설치하면 테스트가 가능합니다.
응용 프로그램에는 최소한 웹 응용 프로그램 인 J2EE 구성 요소가 포함되어 있습니다. 응용 프로그램을 삭제하고 관리 콘솔에서 다시 설치하면 배포 요약 페이지의 "모듈 및 구성 요소"섹션에서 웹 응용 프로그램, 모든 EJB 및 EJB 모듈을 볼 수 있습니다.
WebLogic 코드를 살펴본 결과 오류가 발생한 위치를 확인했습니다. 어플리케이션 용으로 생성되는 컴퍼넌트 MBean가없는 것으로 보여집니다. 이것은 weblogic.jdbc.module.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]--
?
도움이나 통찰력을 얻기를 미리 감사드립니다.
모든 배포 설명자를 8.1에서 12.2.1.1.0으로 업그레이드 했습니까? –
예, 우리는 모든 것을 업데이트하기 위해'weblogic.DDConverter'를 사용했습니다; weblogic-ejb-jar.xml 및 weblogic-cmp-rdbms-jar.xml과 같은 weblogic 관련 파일을 포함하는 모든 ejb 디스크립터 (예 : ejb-jar.xml)를 사용합니다. – SCote
응용 프로그램이나 모듈과 이름이 동일한 jdbc 데이터 소스가 있습니까? 그렇다면 응용 프로그램을 변경하고 응용 프로그램을 다시 배포하십시오. –