maven中pom失效原因探析

背景

在做微服务项目时,需要用到sleuth分布式数据跟踪分析组件,在maven的pom中加入该组件依赖时,提示spring-cloud-starter-sleuth组件的pom失效。网上查找了许多相关帖子,没有找到与我对应的解决方法。

分析

先采用maven的dependency组件功能对项目依赖进行分析,没有发现sleuth组件问题。在回来问题出现处重新思考,可能是下载到本地的sleuth组件的pom出现了问题,于是使用maven的debug功能对项目进行分析。具体如下:

mvn -X clean package -DskipTests

console提示错误如下:

[WARNING] The POM for org.springframework.cloud:spring-cloud-starter-sleuth:jar:2.0.2.RELEASE is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.springframework.cloud:spring-cloud-starter-sleuth:2.0.2.RELEASE
[FATAL] Non-parseable POM /Users/apple/.m2/repository/io/zipkin/brave/brave-bom/5.4.3/brave-bom-5.4.3.pom: start tag not allowed in epilog but got p (position: END_TAG seen ...</dependencyManagement>\n</project>\n<p... @237:3)  @ /Users/apple/.m2/repository/io/zipkin/brave/brave-bom/5.4.3/brave-bom-5.4.3.pom, line 237, column 3

注意到[FATAL]处,原来是本地的brave-bom组件的pom出现问题,打开该组件的pom,在line 237处发现该行及其以下行重复了标签的内容,删除保存后。重新debug项目,出现了类似于brave-bom组件错误的,brave-instrumentation-kafka-clients组件和brave-instrumentation-httpclient组件的错误。错误原因相同,删除多余的内容后,在重新debug项目,再没有错误提示。

进一步分析

之所以出现pom内容重复,可能是下载网络传输出现问题。我的maven的setting.xml中使用了center repository的aliyun镜像。在阿里云镜像中查找brave-bom-5.4.3.pom,没有发现内容重复的问题,那么应该是网络传输时出现了问题。内容已经接受完毕,然而没有及时给服务器回终止信号,导致内容重新传输。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值