2

我在 Windows 机器上有一个带有 Java 1.6.0_24 的 Weblogic 10.3.5。我使用 CXf 2.2.3 来管理 Web 服务组件 最近,开始使用 JDK 1.7.0_13 升级到 Weblogic 12.1.1。但是应用程序没有使用新配置进行部署

下面添加堆栈跟踪,并附上堆栈跟踪的完整日志以供参考 XXXX 是实例变量,YYYY 是域类。域类没有名为 XXXX 的实例变量

javax.xml.bind.JAXBException:

描述符例外:

异常 [EclipseLink-59] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException 异常描述: 实例变量 [XXXX] 未在域类 [YYYY] 中定义,或它无法访问。内部异常:java.lang.NoSuchFieldException:XXXX 映射:org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping[XXXXX]

运行时异常:

  • 带有链接异常:[Exception [EclipseLink-0](Eclipse Persistence Services - 2.3.2.v20111125-r10461):org.eclipse.persistence.exceptions.IntegrityException

运行时异常:

            at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:535)
            at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:476)
            at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:435)
            at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:676)
            at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:634)
            at org.eclipse.persistence.oxm.XMLContext$XMLContextState.<init>(XMLContext.java:830)
            at org.eclipse.persistence.oxm.XMLContext$XMLContextState.<init>(XMLContext.java:770)
            at org.eclipse.persistence.oxm.XMLContext.<init>(XMLContext.java:177)
            at org.eclipse.persistence.jaxb.JAXBContext$TypeMappingInfoInput.createContextState(JAXBContext.java:860)
            at org.eclipse.persistence.jaxb.JAXBContext$TypeMappingInfoInput.createContextState(JAXBContext.java:830)
            at org.eclipse.persistence.jaxb.JAXBContext.<init>(JAXBContext.java:143)
            at org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(JAXBContextFactory.java:142)
            at com.sun.xml.ws.db.toplink.JAXBContextFactory.newContext(JAXBContextFactory.java:180)
            at com.sun.xml.ws.spi.db.BindingContextFactory.create(BindingContextFactory.java:179)
            at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:211)
            at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:185)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sun.xml.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:184)
            at com.sun.xml.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:109)
            at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:321)
            at com.sun.xml.ws.db.DatabindingImpl.<init>(DatabindingImpl.java:99)
            at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:74)
            at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:58)
            at com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime(DatabindingFactoryImpl.java:130)
            at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:411)
            at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:232)
            at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:546)
            at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:525)
            at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:601)
            at weblogic.wsee.jaxws.JAXWSDeployedServlet.getEndpoint(JAXWSDeployedServlet.java:183)
            at weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint(JAXWSServlet.java:139)
            at weblogic.wsee.jaxws.JAXWSServlet.init(JAXWSServlet.java:68)
            at weblogic.wsee.jaxws.JAXWSDeployedServlet.init(JAXWSDeployedServlet.java:54)
            at javax.servlet.GenericServlet.init(GenericServlet.java:240)
            at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:299)
            at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:250)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
            at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
            at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:94)
            at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:82)
            at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:74)
            at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:60)
            at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:34)
            at weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:624)
            at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:565)
            at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1874)
            at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1848)
            at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1738)
            at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2740)
            at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1704)
            at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:781)
            at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213)
            at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
            at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:70)
            at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:212)
            at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:111)
            at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
            at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213)
            at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
            at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:70)
            at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:24)
            at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
            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:79)
            at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:582)
            at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:148)
            at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:114)
            at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:335)
            at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
            at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
            at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
            at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
            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:545)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

为了解决这个异常,我尝试通过将 javax.jws.* 包添加到 weblogic-application.xml 来加载我的应用程序中存在的 geronimo_ws_metadata_2.0.jar 而不是 weblogic 实现。这导致了另一个例外

ServletException:Servlet 类:未实现 javax.servlet.Servlet

经过一些阅读找到以下链接

https://devwebcl.blogspot.in/2012/05/filtering-classloading-failing-with.htmlWeblogic Link 表示我们无法从 Weblogic 12.1.1 开始为类加载器过滤添加 javax.* 或 java.* . 因此,我不得不还原更改。现在我被最初的例外困住了。

4

0 回答 0