java解决BeanDefinitionStoreException: IOException parsing XML document [xxx/classes/...xml] 浅浅的花香味﹌ 2022-05-29 03:11 75阅读 0赞 编辑历史: 2018.3.14 小赖 文档初始化 > 问题描述:我的配置文件中使用了 [http://mybatis.org/dtd/mybatis-3-config.dtd][http_mybatis.org_dtd_mybatis-3-config.dtd] 的dtd文件,但是我项目启动时并没有联网,项目加载时找不到这个dtd文件,于是报错。配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="cacheEnabled" value="true" /> <setting name="lazyLoadingEnabled" value="true" /> <setting name="multipleResultSetsEnabled" value="true" /> <setting name="useColumnLabel" value="true" /> <setting name="defaultExecutorType" value="REUSE" /> <setting name="defaultStatementTimeout" value="25000" /> <setting name="callSettersOnNulls" value="true"/> </settings> </configuration> **想法:由于项目初始化时断网并不能从网上获取到mybatis-3-config.dtd文件,这样只需要从网上将dtd文件下载下来,然后引用项目路径就可以了解决。** > 解决方案:这里需要注意一个问题,我们并不能单纯的使用html中的相对绝对路径来配置处理,而要使用classpath的路径来解决(原因:编译打包);最后,我将mybatis-3-config.dtd放在xml的同等目录下,问题解决。解决之后的配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "classpath:spring/mybatis-3-config.dtd"> <configuration> <settings> <setting name="cacheEnabled" value="true" /> <setting name="lazyLoadingEnabled" value="true" /> <setting name="multipleResultSetsEnabled" value="true" /> <setting name="useColumnLabel" value="true" /> <setting name="defaultExecutorType" value="REUSE" /> <setting name="defaultStatementTimeout" value="25000" /> <setting name="callSettersOnNulls" value="true"/> </settings> </configuration> [http_mybatis.org_dtd_mybatis-3-config.dtd]: http://mybatis.org/dtd/mybatis-3-config.dtd
还没有评论,来说两句吧...