XML文件未加载问题因素之一

本文记录了一次因XML配置文件格式问题导致的服务接口访问错误排查过程。通过更改配置文件的字符集格式,成功解决了NoSuchElementException及NullPointerException异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在修改wuser数据库连接配置文件user.proxool.xml之后重启服务,发现访问接口均报错。

[访问user.getTgUser报错:NoSuchElementException]

[访问user.getUser报错:NullPointerException]

分别找到对应报错行,均为访问数据库的一行

【getUser,NoPointerException,Line:39】

 

【getTgUser,NoSuchElementException,Line:41】

 分析两个接口的不同之处,一个有别名,报NoSuchElementException,另一个没有别名,报NoPointerException,因此猜测是数据库连接池有问题。

从报错内容中也可以得到印证。

于是翻出源码,找到这一行

回头看初始化日志,并没有加载数据库配置文件的部分。因此估计是user.proxool.xml没有加载导致。

于是将服务器中的user.proxool.xml移到本地,并将服务器上面该文件删除。

重启服务,再次访问。

果然结果和之前一样。因此确定是此配置文件没有被加载导致。那么为什么没被加载呢?

首先查看是不是XML有问题。

看名字,没问题。

用文本编辑器打开,看别名、配置...

都没问题。。。

咦,这是什么?

UTF-8-BOM格式

想起之前同事跟我说过,BOM格式就是第一行前面有一串隐藏的字符,用于表示字符集。

百度一下:

心中小鹿乱撞了,感觉就是这个原因导致的XML加载失败,于是赶紧改了字符集变为无BOM格式,上传,重启。

看到页面上打印的密密麻麻,怎么就那么兴奋呢?

转载于:https://www.cnblogs.com/HapLe0/p/6754840.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值