设为首页 收藏本站
查看: 967|回复: 0

[经验分享] weblogic问题以及解决方法

[复制链接]

尚未签到

发表于 2017-2-14 09:15:46 | 显示全部楼层 |阅读模式
一、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会失效。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-341855-1-1.html 上篇帖子: webLogic缓存清理 下篇帖子: weblogic线程池问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表