java_项目启动时的一个奇怪问题

缘由:测试一个SQL function在项目上是否可以使用

方法:在测试类中调用相关SQL,查看执行情况

步骤:

  1.随便查个东西,根据查询结果判断test类配置是否正确,所用数据库是否理想

  2.查询没问题后,新增一个sql查询方法,在test类中进行调用

  3.观察执行结果

问题:步骤1执行顺利,在步骤2 执行过程中,系统启动时一直在加载mapper文件和xm文件,也就是在控制台一直刷屏,但是系统无法启动。

思路:

  1.redis或者db配置问题。 --> 检查发现不是

  2.其他

观察日志输出(因为刷屏太快看不到有任何异常信息),发现有个蓝色背景的文本,应该是某个类注入失败。暂停项目查看日志,获取如下信息:

[admin][${sys:local-ip}]2022-07-26 10:24:43.655 WARN [main][org.springframework.beans.factory.support.AbstractBeanFactory:1490] - Bean creation exception on non-lazy FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mdTaxiDriverAuthDao' defined in file [D:\code\ztx-platform\ztxplatform-dao\target\classes\com\seari\ztxplatform\dao\md\MdTaxiDriverAuthDao.class]: Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in URL [file:/D:/code/ztx-platform/ztxplatform-admin/target/classes/spring-config-dao.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\code\ztx-platform\ztxplatform-dao\target\classes\com\seari\ztxplatform\dao\bl\BlPlatformOrderMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 165; columnNumber: 57; The content of elements must consist of well-formed character data or markup.

  很明显是数据库启动过程出现了问题,搜索相关关键词 “The content of elements must consist of well-formed character data or markup” 发现是sql语句语法问题,检查后发现末尾多了个分号

然后修改后再启动发现问题依旧。

再检查,发现是xml文件中的sql语句使用了小于号,造成了解析问题

 

posted on 2022-07-26 10:36  leaverk  阅读(83)  评论(0编辑  收藏  举报