Java关于读取配置文件Parsing failed.的问题org.logicalcobwebs.proxool.ProxoolException: Parsing failed.

今天将测试通过的应用,发给售前工程师在客户那进行安装,马上出现问题,在一个下午的不断测试中,最后发现原来是这么回事。工程是一个J2EE应用,WebObject打包成War;

我使用了Proxool连接池,在web.xml配置了连接池的proxool.xml

xml 代码
<!---->xml version="1.0" encoding="UTF-8"?>   
<web-app >   
    <servlet>   
        <servlet-name>ServletConfiguratorservlet-name>   
        <servlet-class>   
            org.logicalcobwebs.proxool.configuration.ServletConfigurator    
        servlet-class>   
        <init-param>   
            <param-name>xmlFileparam-name>   
            <param-value>WEB-INF/proxool.xmlparam-value>   
        init-param>   
        <load-on-startup>1load-on-startup>   
    servlet>   

在proxool.xml中也按proxool官方的设置

xml 代码
<!---->xml version="1.0" encoding="UTF-8"?>     
<something-else-entirely>   
    <proxool>   
            
        <alias>DBPoolalias>   
            
        <driver-url>jdbc:oracle:thin:@192.168.0.2:1521:drcomdriver-url>   
            
        <driver-class>oracle.jdbc.driver.OracleDriverdriver-class>   
        <driver-properties>   
            <property name="user" value="drcom"/>   
            <property name="password" value="drcom"/>   
        driver-properties>   
            
        <house-keeping-sleep-time>90000house-keeping-sleep-time>   
        
        <maximum-new-connections>150maximum-new-connections>   
            
        <prototype-count>3prototype-count>   
            
        <maximum-connection-count>100maximum-connection-count>   
            
        <minimum-connection-count>3minimum-connection-count>   
    proxool>   
something-else-entirely> 

启动Tomcat后出现如下错误

xml 代码
严重: Problem configuring WEB-INF/proxool.xml    
org.logicalcobwebs.proxool.ProxoolException: Parsing failed.    
    at org.logicalcobwebs.proxool.configuration.JAXPConfigurator.configure(JAXPConfigurator.java:91)    
    at org.logicalcobwebs.proxool.configuration.JAXPConfigurator.configure(JAXPConfigurator.java:56)    
    at org.logicalcobwebs.proxool.configuration.ServletConfigurator.init(ServletConfigurator.java:120)    
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)    
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)    
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)    
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)    
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)    
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)    
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)   

报的是Xml的Parsing failed异常。马上进行排察:

读取WEB-INF/proxool.xml是否成功; Web.xml配置是否正确; proxool.xml配置是否正确; 两个配置文件是否符合Xml规范。

按道理,在我们这边打包测试成功,怎么到了客户机器上却无法识别XML呢。开始以为是:

XML的标头问题 
xml 代码
<!---->xml version="1.0" encoding="UTF-8"?>   
<!---->>   
<web-app>   


xml 代码 <!---->xml version="1.0" encoding="UTF-8"?>   
   
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version
="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>

后来测试了,也无法正常运行,最后才没办法删除掉porxool.xml,重新建一个proxool.xml文件,这下,测试OK了,

原来,我们开发的时候一直都是用UltraEdit-32这样的文本编辑器,他保存的格式、编码以及换行符都是不同的,生成的文件有问题,具体也没研究过,应该是编码问题吧。

以上的问题,还真无法解释,有朋友了解具体问题所在,可以说明一下。

原文地址:https://www.cnblogs.com/xuewater/p/2779445.html