【踩坑】org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 33; schema_reference.4: 无法读取方案文档

问题:

bash org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 33; schema_reference.4: 无法读取方案文档 'https:www.springframework.orgschemacontextspring-context.xsd', 原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是 <xsd:schema>

最常见的导致这一问题的原因其实与使用了一个名为“assembly ”的 maven 打包插件有关。很多项目需要将工程连同其所依赖的所有 jar 包打包成一个 jar 包,maven 的 assembly 插件就是用来完成这个任务的。但是由于工程往往依赖很多的 jar 包,而被依赖的 jar 又会依赖其他的 jar 包,这样,当工程中依赖到不同的版本的 spring 时,在使用 assembly 进行打包时,只能将某一个版本 jar 包下的 spring.schemas 文件放入最终打出的 jar 包里,这就有可能遗漏了一些版本的 xsd 的本地映射,进而出现了文章开始提到的错误。如果你的项目是打成单一 jar 的,你可以通过检查最终生成的 jar 里的 spring.schemas 文件来确认是不是这种情况。而关于这种情况,解决的方法一般是推荐使用另外一种打包插件 shade

关于Spring中加载xsd文件出现故障的文章总结_wujiang88的博客-CSDN博客

回到我这次遇到的问题。因为我们使用的Spring系列依赖包:spring-beans、spring-context、spring-aop、spring-jdbc、spring-tx等其中有部分配置文件是同名的:spring.facotries、spring.handlers、spring.schemas、spring.tooling。

在进行打包的过程中,打包插件如果没有进行详细配置(我这里用的 maven-assembly-plugin),这些同名的配置文件就会放在同一个目录下,同名的文件可能会被替换,最后就会形成配置文件不全的情况。

在这里插入图片描述

将所有的配置文件中的配置信息进行手动合并。然后将项目jar包目录\META-INF下的这4个文件用合并好的文件替换掉,就能运行了。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 文件提前结束是由于XML文件在解析过程中遇到了未完整闭合的标签或结构错误导致的。这个错误一般出现在XML文件的开头,因为解析器在开始解析时就发现了错误。具体的错误信息可能包括行号和列号,用于指示在文件中出现问题的具体位置。这个错误可能是由于XML文件本身的语法错误或者解析器配置错误导致的。为了解决这个问题,你可以检查XML文件的语法是否正确、确保所有标签都被正确闭合,并且检查解析器的配置是否正确。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [[Spring]Cause: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 14; 需要属性 "name&...](https://blog.csdn.net/hui85206/article/details/80210255)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [mybatis-config.xml文件配置问题](https://download.csdn.net/download/weixin_38737751/14854567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Cause: org.xml.sax.SAXParseExceptionlineNumber: 3; columnNumber: 6; 不允许有匹配 “[xX][mM][lL]...](https://blog.csdn.net/m0_47400676/article/details/127409890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值