mvnw命令启动spring boot项目时出现警告Unrecognised tag: ‘blocked’ (position: START_TAG seen …\r\n …
mvnw命令启动spring boot项目时出现警告Unrecognised tag: ‘blocked’ (position: START_TAG seen …\r\n …
文章目录
1.现象
在命令行使用如下命令启动一个spring boot项目时出现如下警告:
[WARNING] Some problems were encountered while building the effective settings
[WARNING] Unrecognised tag: 'blocked' (position: START_TAG seen ...</url>\r\n <blocked>... @164:16) @ C:\Users\sqs\.m2\settings.xml, line 164, column 16
项目启动没有问题,但是在控制台看到这样的告警对洁癖人士来说还是忍受不了了。
2.解决办法
警告内容就是说maven的settings文件中有一个无法识别的标签blocked。目前还不清楚是特定的3.6.3版本的maven会报这样的警告,还是因为用的是mvnw的缘故,按说即便是用的3.8.1版本以下的maven,遇见这个配置忽略即可,但不应该出现配置标签都识别不了(因为之前用的3.5.4版本的maven而不是用的maven wrapper,就不会报这样的警告)。
我目前的猜测是,低版本的maven用了高版本的settings文件。
实在没有精力深究了。有知道的大佬可以评论区分享一下。
粗暴直接的解决办法,无法识别就注释掉!!!
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<!-- <blocked>true</blocked> -->
</mirror>
但这并非一劳永逸,建议看完下面的内容再回过头决定是否确定要这样处理。
3.延伸知识(必看)
maven从3.8.1版本开始禁止所有HTTP协议的maven仓库,这个配置应该也就是从maven3.8.1版本开始有的。
因为使用HTTP协议下载依赖,可能会导致中间人攻击。这也是为什么很多人升级了maven版本后在构建之前的项目时出现不能拉取依赖的问题,因为一些人的使用的私有maven仓库很多事HTTP协议的而不是HTTPS协议。
所以如果你使用的是maven3.8.1及以上版本,根据自身需要是否要做2中的操作,这样会有被中间人攻击的风险。
当然,理论上,如果你使用的maven3.8.1及以上版本,应该不会报这个警告。
有点绕,希望我讲清楚了~
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)