Java编译时异常 unknow protocol : e

记录下昨天的异常处理

运行环境: MyEclipse 6 + tomcat 6 + jdk 1.6

异常抛出代码:

java.net.MalformedURLException: unknown protocol: e
    at java.net.URL.
< init > (URL.java: 574 )
    at java.net.URL.
< init > (URL.java: 464 )
    at java.net.URL.
< init > (URL.java: 413 )
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:
650 )
    at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:
186 )
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
771 )
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
737 )
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
107 )
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:
1205 )
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:
522 )
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:
453 )
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:
891 )
    at tops.webx.config.Registry.
< init > (Registry.java: 31 )
    at tops.webx.kernel.Startup.init(Startup.java:
32 )
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1161 )
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:
981 )
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
4045 )
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:
4351 )
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
791 )
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
771 )
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
525 )
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:
920 )
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:
883 )
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
492 )
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:
1138 )
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:
311 )
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:
117 )
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1053 )
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:
719 )
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045 )
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:
443 )
    at org.apache.catalina.core.StandardService.start(StandardService.java:
516 )
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:
710 )
    at org.apache.catalina.startup.Catalina.start(Catalina.java:
566 )
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39 )
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25 )
    at java.lang.reflect.Method.invoke(Method.java:
597 )
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:
288 )
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:
413 )

问题源代码:

public  Registry(String rootKey)  throws  Exception {        
        SAXBuilder sb 
= new SAXBuilder();
        _xml 
= sb.build(_CfgPath + "/" + rootKey + "-registry.xml");    //Exception
        _root = _xml.getRootElement();
    }

问题分析:

在之前,我的代码没有问题, 可以正常运行, 但是, 当我改了全局字符集环境变量NLS_LANG时, 发现出现了以上问题, 此时, 我判断是否是JDOM读取文件时产生异常, 因此做了如下处理. 

解决方案:

public  Registry(String rootKey)  throws  Exception {        
        SAXBuilder sb 
= new SAXBuilder();
        _xml 
= sb.build(new File(_CfgPath + "/" + rootKey + "-registry.xml"));
        _root 
= _xml.getRootElement();
    }

处理结果:

当我修改完毕后再运行时, 发现此时程序可以正常运行了.

总结:

以上问题在我的计算机里出现, 我暂时判断为JDOM读取已修改了全局字符集环境变量的文件时会产生无法读取异常,因此以文件方式从新读取指定路径文件再让JDOM处理. 异常解决.

但是, 这里仅是个判断, 还需要后期继续跟踪......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值