侧边栏壁纸
  • 累计撰写 90 篇文章
  • 累计创建 489 个标签
  • 累计收到 70 条评论

目 录CONTENT

文章目录

好久没有碰java代码了,发现maven管的真tm多

火星人
2022-02-15 / 0 评论 / 0 点赞 / 972 阅读 / 0 字 / 正在检测是否收录...
  1. 很久没有写java代码了,最近有朋友发现一个问题,需要调试Java代码,发现之前好好的代码,突然不能编译了。
  2. 代码肯定是没有动过,唯一可能变化的,是数据库、编译环境等等。
  3. 报错比较诡异:maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories
  4. 看样子,是谁把老子的请求给block住了。我tm没有惹谁生气啊,怎么会被拦截。
  5. 最后调研发现,是maven的锅。maven在3.8.1 的默认配置文件中增加了一组标签,如果仓库镜像是http 而不是https 就会被拦截禁止访问,而当前公司私服一般是http 而不支持https.
  6. 我尼玛!http就不是协议了么?你tm发个警告还不行,还直接给老子拦截住?服了,就不干!就要用http,你待怎地!!!!
  7. 找到maven的配置文件,一般在你的mavenhome/conf/settings.xml,如果没有,可以去:home/.m2/settings.xml找找,打开他,找到其中的一段:
<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>false</blocked>
</mirror>
  1. 看到没,这个货把所有http的请求都拦截了。注意,注意,注意!敲黑板了啊,上面代码中的blocked字段,我改成了false,发现不好使。还是会被拦截。只不过现在是转向:http://0.0.0.0了。只有全部给他注释掉!对,就是使用注释掉,或者干脆删掉。再运行maven,ok好了!
0

评论区