您现在的位置是:首页 >技术交流 >MVN版本过高引起的问题网站首页技术交流

MVN版本过高引起的问题

风月无边 2023-06-16 00:00:02
简介MVN版本过高引起的问题

mvn版本过高以后在eclipse打包没有问题,在命令行打包,系统提示

Downloading from maven-default-http-blocker

抓狂。查了一下,原来是下载依赖的时候有警告,依赖下载不下来,仔细看地址有问题,编程0.0.0.0了:

Downloading from maven-default-http-blocker: http://0.0.0.0/com/jeremytsai/jeremy-basic-common/1.0.0/maven-metadata.xml
[WARNING] Could not transfer metadata com.jeremytsai:jeremy-basic-common:1.0.0/maven-metadata.xml from/to maven-default-http-blocker (http://0.0.0.0/): transfer failed for http://0.0.0.0/com/jeremytsai/jeremy-basic-common/1.0.0/maven-metadata.xml

搜索了一下,发现从3.8.1版本开始,maven禁止了从http协议的仓库地址下载依赖。
解决办法通过配置mirror来突破限制。

<mirror>
    <id>maven-default-http-blocker</id>
    <mirrorOf>blocker</mirrorOf>
    <name>用于突破maven-3.8.1版本以后默认禁用http仓库的限制</name>
    <url>http://0.0.0.0/</url>
</mirror>

以可以切换为旧版本的maven,就没有该限制。
其他解决办法

    - 降低Maven版本【推荐这个方法,简单高效】
    - 将私有仓库升级为https
    - 通过配置mirror解决
    不同于上文,maven限制的是repository不能使用http,没有限制mirror不能使用,可以将自己的私有仓库写在mirror中而不是repository。该方法同样简单。

    <mirror>
        <id>jeremy-maven</id>
        <mirrorOf>*</mirrorOf>
        <name>自己的公共仓库</name>
        <url>http://1.2.3.4/repository/public</url>
    </mirror>

参考资料:

How to disable maven blocking external HTTP repositories? - Stack Overflow

最后,总结一下

方法一:使用mvn3.8.8版本,屏蔽http://0.0.0.0/

下载地址:https://maven.apache.org/download.cgi

D:0.gitxxxx>mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: D:Dev_Javaapacheapache-maven
Java version: 1.8.0_372, vendor: Azul Systems, Inc., runtime: D:Dev_JavaJavaJDK1.8-Zulu8jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"

修改C:Usersxzknet.m2settings.xml

  <mirrors>
    <mirror>
        <id>maven-default-http-blocker</id>
        <mirrorOf>blocker</mirrorOf>
        <name>用于突破maven-3.8.1版本以后默认禁用http仓库的限制</name>
        <url>http://0.0.0.0/</url>
    </mirror>
  </mirrors>

方法二:

降低mvn版本为3.8.1之前的老版本。截止2023-4-26,3.8.1之前最高版本3.6.3

https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip

以上两个方法,本人都已经验证过,你可以搞你自己的配置了。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。