java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: Invalid encoding name "GB

 本地运行正常,部署到服务器weblogic启动时报错,本地的weblogic版本和服务器不同

java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: Invalid encoding name "GB18030".
        at java.util.XMLUtils.load(XMLUtils.java:74)
        at java.util.Properties.loadFromXML(Properties.java:741)
        at com.tydic.sso.client.utils.SysProperties.init(SysProperties.java:33)
        at com.tydic.sso.client.servlet.InitServlet.init(InitServlet.java:70)
        at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:278)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
        at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
        at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
        at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:507)

。。。。

 

同事以前遇到过这样的问题,如下方法解决了:

在domain域下建一个文件夹如extra-libs,并放入xercesImpl-2.6.2.jar包

然后修改startWebLogic.sh

在classpath前加上该包路径

CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}"

改为

CLASSPATH="/weblogic/user_projects/domains/my_domain/extra-libs/xercesImpl-2.6.2.jar:${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBL
OGIC_CLASSPATH}"

 

重启weblogic不报错

 

但是我在做了如上步骤后仍然报错,后来调查发现是因为在WEB-INF下放置了weblogic.xml文件

内容为

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> 
<weblogic-web-app>
    <container-descriptor> 
        <prefer-web-inf-classes>true</prefer-web-inf-classes> 
    </container-descriptor>
</weblogic-web-app>

 

将该文件删除后,启动weblogic不报错啦!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值