weblogic问题以及解决方法

一、 weblogic异常Error parsing descriptor in Web appplication 解决方法

使用weblogic部署war项目里,有些项目可以部署,但有些不行,出现以下异常。
异常如下:
An error occurred during activation of changes, please see the log for details.
[HTTP:101064][WebAppModule(OA_Manager0:OA_Manager0.3.war)] Error parsing descriptor in Web appplication "D:\09projects\OA_Manager0.3\OA_Manager0.3.war" 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: com.bea.xml.XmlException: failed to load java type corresponding to e=web-app@http://java.sun.com/xml/ns/javaee at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:325) at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:292) at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:302) at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:283) at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:153) 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.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:359) at weblogic.application.descriptor.CachingDescriptorLoader.superCreateDescriptor(CachingDescriptorLoader.java:166) at weblogic.application.descriptor.CachingDescriptorLoader.access$000(CachingDescriptorLoader.java:31) at weblogic.application.descriptor.CachingDescriptorLoader$IOHelperImpl.parseXML(CachingDescriptorLoader.java:278) at weblogic.descriptor.DescriptorCache.parseXML(DescriptorCache.java:324) at weblogic.application.descriptor.CachingDescriptorLoader.createDescriptor(CachingDescriptorLoader.java:209) 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.servlet.internal.WebAppDescriptor.getWebAppBean(WebAppDescriptor.java:136) at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:754) ... 24 more weblogic.application.ModuleException: Unmarshaller failed
failed to load java type corresponding to e=web-app@http://java.sun.com/xml/ns/javaee

解决方法:
问题出现在项目的web.xml文件的声明部分把原来:
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
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">

改成:
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
问题就可以解决了。

原因分析:
weblogic不支持J2EE 2.5版本,使用2.5版本会出现解析错误(如上),所以把它改到2.4版本即可。

二、 Compilation of JSP File '/default.jsp' failed。
页面内包含 <%@ include file="top.jsp" %>,进入时报以下错误:

Compilation of JSP File '/default.jsp' failed:
________________________________________
default.jsp:13:23: Error in "D:\bea\user_projects\domains\base_domain\servers\AdminServer\stage\_appsdir_OA_Manager0.3_war\OA_Manager0.3.war\top.jsp" at line 1: The page directive attribute "pageEncoding" may only be used once per JSP page.
<%@ include file="top.jsp" %>
^-------^

原因:
include页面和被include页面同时存在pageEncoding,引起冲突。
解决方法:
(1) 把静态包含改成动态包含<jsp:include page=”top.jsp”/>。
(2) 删除其中被包含页面的pageEncoding声明。

三、 Session失效问题。

在系统中进行登陆后,后台会把正确登陆信息放入到session中,进入到系统主页面,进行某些需要登陆验证的功能时出现未登陆,此时说明登陆时放入session的东西失效。

原因:
访问时用localhost进行本地访问,对于weblogic本地访问session会失效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值