- - PR -
weblogic9.0Jでのデプロイエラーについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-06-14 16:55
現在、Weblogic6.1からWeblogic9.0Jに移行しようとしているのですが、
デプロイ時に必ず以下の2つのエラーが出て、失敗します。 ※2つ続けてログ表示されます ----------------------------------------------- @ [HTTP:101064][WebAppModule(91Beta:MyApplication)] Web アプリケーション "D:\deployments\production\MyApplication\91Beta\app\MyApplication" の記述子を解析できません。 weblogic.application.ModuleException: Unmarshaller failed at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:758) at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:260) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:236) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:191) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:84) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:197) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:724) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1137) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:224) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:109) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:166) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:54) at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:179) Caused by: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists: "weblogic.j2ee.descriptor.ServletBeanImpl@300f8024(/Servlets[DownloadError])" at weblogic.descriptor.internal.ReferenceManager.registerBean(ReferenceManager.java:191) at weblogic.j2ee.descriptor.WebAppBeanImpl.setServlets(WebAppBeanImpl.java:871) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.bea.staxb.runtime.internal.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:48) at com.bea.staxb.runtime.internal.RuntimeBindingType$BeanRuntimeProperty.setValue(RuntimeBindingType.java:450) at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType$QNameRuntimeProperty.fillCollection(AttributeRuntimeBindingType.java:385) at com.bea.staxb.runtime.internal.MultiIntermediary.getFinalValue(MultiIntermediary.java:52) at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType.getFinalObjectFromIntermediary(AttributeRuntimeBindingType.java:145) at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalBindingType(UnmarshalResult.java:185) at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:154) at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65) at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:138) at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:254) at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:283) at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:344) at weblogic.application.descriptor.CachingDescriptorLoader.createDescriptor(CachingDescriptorLoader.java:188) at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:328) at weblogic.application.descriptor.AbstractDescriptorLoader.getDescriptor(AbstractDescriptorLoader.java:237) at weblogic.application.descriptor.AbstractDescriptorLoader.getRootDescriptorBean(AbstractDescriptorLoader.java:217) at weblogic.application.descriptor.AbstractDescriptorLoader.getPlanMergedDescriptor(AbstractDescriptorLoader.java:574) at weblogic.application.descriptor.AbstractDescriptorLoader.getPlanMergedDescriptorBean(AbstractDescriptorLoader.java:543) at weblogic.servlet.internal.WebAppDescriptor.getWebAppBean(WebAppDescriptor.java:134) at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:754) ... 24 more weblogic.application.ModuleException: Unmarshaller failed A Bean already exists: "weblogic.j2ee.descriptor.ServletBeanImpl@300f8024(/Servlets[DownloadError])" ----------------------------------------------- 対応方法をご存知の方、ご教授ねがいます。 なお、モジュールの配置は、以下のとおりです。 D:\deployments\production\MyApplication\91Beta \app\MyApplication \common \WEB-INF --web.xml --weblogic.xml \plan --Plan.xml |
|
投稿日時: 2006-06-14 17:40
まず、せっかくですから WLS9.1 か、そろそろ出そうな 9.2 に移行してはいかがでしょう。
9.0 から大幅に不具合が修正されています。 http://edocs.beasys.co.jp/e-docs/wls/docs91/issues/known_resolved.html デプロイできない原因ですが、「述子を解析できません」とありますのでデプロイメントデスクリプタに誤りがあるのではないでしょうか。 J2EE1.3と1.4ではDDの定義が DTD ベースから XML Schema ベースに変更になっています。 J2EE1.4 として DD が valid であるか確認してみてはいかがでしょう。 [ メッセージ編集済み 編集者: インギ 編集日時 2006-06-14 17:41 ] |
|
投稿日時: 2006-06-15 10:40
ご返答ありがとうございます。
とりあえず、WLS9.1をインストールしました。 これだけでは、解決しませんでしたが、 ご指摘の通り、「記述子を解析できません」に着目し、 web.xmlの記述を見直してみました。 以下2点を改善すると、エラーは取れました。 ありがとうございました。 @同じ内容のタグを2回書いていた <servlet> <servlet-name>ABC</servlet-name> <jsp-file>ABC.jsp</jsp-file> </servlet> <servlet> <servlet-name>ABC</servlet-name> <jsp-file>ABC.jsp</jsp-file> </servlet> ⇒ 1つだけにしました。 Alocationタグに"/"がなかった <error-page> <error-code>500</error-code> <location>ErrorPage.jsp</location> </error-page> ⇒ "/"をつけました <location>/ErrorPage.jsp</location> |
1