Oracle Weblogic: Das root-element web-app fehlt in der Anwendungsdeskriptordatei
Ich bin versucht, JAX-RS zur Erstellung eines web service gehostet wird auf einem Oracle Weblogic server. Ich bin neu in diese Technologie, so folgte ich nur tutorials da von meinem Lehrer. Hier ist mein code:
WebContent/WEB-INF/web.xml
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.edu.cs157b.restful </param-name>
<param-value>AssignmentTwo</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
</servlet>
WebContent/WEB-INF/weblogic.xml
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" 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/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.5/weblogic-web-app.xsd">
<wls:weblogic-version>12.1.2</wls:weblogic-version>
<wls:context-root>AssignmentTwo</wls:context-root>
</wls:weblogic-web-app>
Hier ist der Fehler, ich bin immer
<Mar 11, 2014 5:32:16 PM PDT> <Error> <HTTP> <BEA-101064> <[WebAppModule(_auto_generated_ear_:AssignmentTwo)] Error parsing descriptor in Web appplication "/**/AssignmentTwo/WebContent"
weblogic.application.descriptor.MissingRootElementException: [Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.application.descriptor.BasicMunger2._onStartElement(BasicMunger2.java:506)
at weblogic.application.descriptor.BasicMunger2.next(BasicMunger2.java:441)
at weblogic.application.descriptor.VersionMunger._next(VersionMunger.java:342)
at weblogic.application.descriptor.VersionMunger.next(VersionMunger.java:230)
at weblogic.application.descriptor.VersionMunger.consumeInputStream(VersionMunger.java:595)
Truncated. see log file for complete stacktrace
>
<Mar 11, 2014 5:32:16 PM PDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "1394584335621" for task "6". Error is: "weblogic.application.ModuleException: [HTTP:101064][WebAppModule(_auto_generated_ear_:AssignmentTwo)] Error parsing descriptor in Web appplication "/**/AssignmentTwo/WebContent"
weblogic.application.descriptor.MissingRootElementException: [Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.application.descriptor.BasicMunger2._onStartElement(BasicMunger2.java:506)
at weblogic.application.descriptor.BasicMunger2.next(BasicMunger2.java:441)
at weblogic.application.descriptor.VersionMunger._next(VersionMunger.java:342)
at weblogic.application.descriptor.VersionMunger.next(VersionMunger.java:230)
at weblogic.application.descriptor.VersionMunger.consumeInputStream(VersionMunger.java:595)
at weblogic.application.descriptor.VersionMunger.init(VersionMunger.java:485)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:86)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:62)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:50)
at weblogic.servlet.internal.WebAppReader2.<init>(WebAppReader2.java:47)
at weblogic.servlet.internal.WebAppDescriptor$MyWebAppDescriptor.createXMLStreamReader(WebAppDescriptor.java:275)
at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:406)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:778)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:787)
at weblogic.servlet.internal.WebAppDescriptor.getWebAppBean(WebAppDescriptor.java:142)
at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:1446)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:244)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:681)
at weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
at weblogic.application.internal.ExtensibleModuleWrapper.init(ExtensibleModuleWrapper.java:98)
at weblogic.application.internal.flow.ModuleListenerInvoker.init(ModuleListenerInvoker.java:84)
at weblogic.application.internal.flow.InitModulesFlow.initModule(InitModulesFlow.java:342)
at weblogic.application.internal.flow.InitModulesFlow.initModules(InitModulesFlow.java:355)
at weblogic.application.internal.flow.InitModulesFlow.prepare(InitModulesFlow.java:383)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:233)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1238)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:252)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:172)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
[Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml."
weblogic.application.ModuleException: [HTTP:101064][WebAppModule(_auto_generated_ear_:AssignmentTwo)] Error parsing descriptor in Web appplication "/**/AssignmentTwo/WebContent"
weblogic.application.descriptor.MissingRootElementException: [Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.application.descriptor.BasicMunger2._onStartElement(BasicMunger2.java:506)
at weblogic.application.descriptor.BasicMunger2.next(BasicMunger2.java:441)
at weblogic.application.descriptor.VersionMunger._next(VersionMunger.java:342)
at weblogic.application.descriptor.VersionMunger.next(VersionMunger.java:230)
at weblogic.application.descriptor.VersionMunger.consumeInputStream(VersionMunger.java:595)
at weblogic.application.descriptor.VersionMunger.init(VersionMunger.java:485)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:86)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:62)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:50)
at weblogic.servlet.internal.WebAppReader2.<init>(WebAppReader2.java:47)
at weblogic.servlet.internal.WebAppDescriptor$MyWebAppDescriptor.createXMLStreamReader(WebAppDescriptor.java:275)
at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:406)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:778)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:787)
at weblogic.servlet.internal.WebAppDescriptor.getWebAppBean(WebAppDescriptor.java:142)
at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:1446)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:244)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:681)
at weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
at weblogic.application.internal.ExtensibleModuleWrapper.init(ExtensibleModuleWrapper.java:98)
at weblogic.application.internal.flow.ModuleListenerInvoker.init(ModuleListenerInvoker.java:84)
at weblogic.application.internal.flow.InitModulesFlow.initModule(InitModulesFlow.java:342)
at weblogic.application.internal.flow.InitModulesFlow.initModules(InitModulesFlow.java:355)
at weblogic.application.internal.flow.InitModulesFlow.prepare(InitModulesFlow.java:383)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:233)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1238)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:252)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:172)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
[Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.servlet.internal.WebAppModule.createModuleException(WebAppModule.java:1824)
at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:1473)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:244)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:681)
at weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
Truncated. see log file for complete stacktrace
Caused By: weblogic.application.descriptor.MissingRootElementException: [Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.application.descriptor.BasicMunger2._onStartElement(BasicMunger2.java:506)
at weblogic.application.descriptor.BasicMunger2.next(BasicMunger2.java:441)
at weblogic.application.descriptor.VersionMunger._next(VersionMunger.java:342)
at weblogic.application.descriptor.VersionMunger.next(VersionMunger.java:230)
at weblogic.application.descriptor.VersionMunger.consumeInputStream(VersionMunger.java:595)
Truncated. see log file for complete stacktrace
>
<Mar 11, 2014 5:32:16 PM PDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating distribute task for application "_auto_generated_ear_".>
<Mar 11, 2014 5:32:16 PM PDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: [HTTP:101064][WebAppModule(_auto_generated_ear_:AssignmentTwo)] Error parsing descriptor in Web appplication "/**/AssignmentTwo/WebContent"
weblogic.application.descriptor.MissingRootElementException: [Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.application.descriptor.BasicMunger2._onStartElement(BasicMunger2.java:506)
at weblogic.application.descriptor.BasicMunger2.next(BasicMunger2.java:441)
at weblogic.application.descriptor.VersionMunger._next(VersionMunger.java:342)
at weblogic.application.descriptor.VersionMunger.next(VersionMunger.java:230)
at weblogic.application.descriptor.VersionMunger.consumeInputStream(VersionMunger.java:595)
at weblogic.application.descriptor.VersionMunger.init(VersionMunger.java:485)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:86)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:62)
at weblogic.application.descriptor.VersionMunger.<init>(VersionMunger.java:50)
at weblogic.servlet.internal.WebAppReader2.<init>(WebAppReader2.java:47)
at weblogic.servlet.internal.WebAppDescriptor$MyWebAppDescriptor.createXMLStreamReader(WebAppDescriptor.java:275)
at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:406)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:778)
at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:787)
at weblogic.servlet.internal.WebAppDescriptor.getWebAppBean(WebAppDescriptor.java:142)
at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:1446)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:244)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:681)
at weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
at weblogic.application.internal.ExtensibleModuleWrapper.init(ExtensibleModuleWrapper.java:98)
at weblogic.application.internal.flow.ModuleListenerInvoker.init(ModuleListenerInvoker.java:84)
at weblogic.application.internal.flow.InitModulesFlow.initModule(InitModulesFlow.java:342)
at weblogic.application.internal.flow.InitModulesFlow.initModules(InitModulesFlow.java:355)
at weblogic.application.internal.flow.InitModulesFlow.prepare(InitModulesFlow.java:383)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:233)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1238)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:252)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:172)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
[Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.servlet.internal.WebAppModule.createModuleException(WebAppModule.java:1824)
at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:1473)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:244)
at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:681)
at weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
Truncated. see log file for complete stacktrace
Caused By: weblogic.application.descriptor.MissingRootElementException: [Munger:2156204]The root element web-app is missing in the descriptor file /**/AssignmentTwo/WebContent/WEB-INF/web.xml.
at weblogic.application.descriptor.BasicMunger2._onStartElement(BasicMunger2.java:506)
at weblogic.application.descriptor.BasicMunger2.next(BasicMunger2.java:441)
at weblogic.application.descriptor.VersionMunger._next(VersionMunger.java:342)
at weblogic.application.descriptor.VersionMunger.next(VersionMunger.java:230)
at weblogic.application.descriptor.VersionMunger.consumeInputStream(VersionMunger.java:595)
Truncated. see log file for complete stacktrace
>
InformationsquelleAutor user2158382 | 2014-03-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
web.xml
fehlt das root-element<web-app>
. Die Verschachtelung ist auch falsch. Die<servlet-mapping>
element ist ein element der obersten Ebene wie die<servlet>
element nicht geschachtelt ist drin.Ihre
web.xml
sollte eine Struktur haben, ähnlich wie diese:Wenn Sie eine IDE (wie Netbeans, Eclipse), wenn Sie erstellen eine Web-app erzeugt es einen gültigen web.xml für Sie. Wenn Sie beim erstellen eines REST-web-service wird es wahrscheinlich sogar so konfigurieren, dass eine JAX-RS web.xml für Sie.
InformationsquelleAutor helderdarocha