maven mirror https://repo.maven.apache.org/maven2 错误

在使用Visual Studio Code和Maven开发WebAPP时遇到构建错误,问题根源是网络镜像。通过参考相关博客文章,了解到可能是连接超时问题。在maven的settings.xml中配置了新的镜像源后,解决了connect timeout错误,成功下载了插件并完成Maven项目的构建。

想用Visual Studio Code结合Maven开发WebAPP,就集成一下试试。按照https://blog.youkuaiyun.com/CSUstudent007/article/details/103433387方法集成。但是构建Maven项目时候,老是提示错误。

https://repo.maven.apache.org/maven2/.error=Could not transfer artifact org.apache.maven.plugins\:maven-archetype-plugin\:pom\:3.1.2 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/3.1.2/maven-archetype-plugin-3.1.2.pom

期间还出先各种 connect timeout错误。各种搜索,感觉应该是网络镜像的问题。找到了这篇文章。https://blog.youkuaiyun.com/pkx1993/article/details/86691426,在里面找到了解决方法。在maven的settings.xml配置文件mirrors里面加入

<mirrors>
	  <!-- 阿里云仓库 -->
        <mirror>
            <id>alimaven</id>
           <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>https://maven.aliyun.com/nexus/content/repositories/central/</url>
         </mirror>
        <!-- 中央仓库1 -->
        <mirror>
            <id>repo1</id>
             <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
         </mirror>
         <!-- 中央仓库2 -->
         <mirror>
             <id>repo2</id>
             <mirrorOf>central</mirrorOf>
             <name>Human Readable Name for this Mirror.</name>
             <url>http://repo2.maven.org/maven2/</url>
         </mirror>
  </mirrors>

再次构建maven项目:

mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.2:generate -DarchetypeArtifactId="maven-archetype-webapp" -DarchetypeGroupId="org.apache.maven.archetypes" -DarchetypeVersion="1.4"

然后下载插件都正常了。提示输入groupid等内容,最后提示构建成功:

Define value for property 'groupId': QMapWS
Define value for property 'artifactId': QMapWS
Define value for property 'version' 1.0-SNAPSHOT: : 1.0-SNAPSHOT
Define value for property 'package' QMapWS: :
Confirm properties configuration:
groupId: QMapWS
artifactId: QMapWS
version: 1.0-SNAPSHOT
package: QMapWS
 Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-webapp:1.4
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: QMapWS
[INFO] Parameter: artifactId, Value: QMapWS
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: QMapWS
[INFO] Parameter: packageInPathFormat, Value: QMapWS
[INFO] Parameter: package, Value: QMapWS
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: QMapWS
[INFO] Parameter: artifactId, Value: QMapWS
[INFO] Project created from Archetype in dir: E:\Maven-Workspace\QMapWS\QMapWS
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  04:24 min
[INFO] Finished at: 2020-04-23T10:13:20+08:00
[INFO] ------------------------------------------------------------------------
<think> 我们正在讨论Maven配置中央仓库的问题。用户希望了解如何配置Maven使用https://repo1.maven.org/作为源。根据引用内容,需要注意的是,中央仓库现在强制使用HTTPS,原来的HTTP地址已经不再推荐使用,甚至可能被阻止。 引用[1]中提到,原来的http://repo1.maven.org已经不再使用,替代的是https://repo1.maven.org/maven2/。同时,引用[2]也明确给出了中央仓库的网址是https://repo1.maven.org/maven2/。 在Maven中配置仓库有两种主要方式:在项目的pom.xml中配置,或者在用户或全局的settings.xml中配置。但是,中央仓库是Maven默认的仓库,通常不需要额外配置。然而,如果用户需要覆盖镜像设置或者确保使用中央仓库的HTTPS地址,可以按照以下步骤操作。 特别提醒:根据引用[1]的信息,Sonatype中央仓库自2020年1月15日起要求所有访问必须通过HTTPS,不再支持HTTP。因此,任何配置中都必须使用https协议。 配置方法: 1. 在settings.xml中配置镜像(mirror):将中央仓库(central)的镜像指向HTTPS地址。 这样,所有对中央仓库的请求都将通过这个镜像地址(即https://repo1.maven.org/maven2/)来访问。 2. 在项目的pom.xml中直接配置仓库(repository):但通常不推荐这样做,因为中央仓库已经内置,除非需要覆盖默认配置。 以下是一个在settings.xml中配置镜像的例子: 打开Maven安装目录下的conf/settings.xml文件,或者用户目录下的.m2/settings.xml文件,在<mirrors>标签内添加如下内容: ```xml <mirror> <id>central-https</id> <name>Maven Central HTTPS</name> <url>https://repo1.maven.org/maven2/</url> <mirrorOf>central</mirrorOf> </mirror> ``` 注意:<mirrorOf>central</mirrorOf>表示这个镜像会拦截所有对中央仓库(id为central)的请求,并重定向到指定的URL。 另外,引用[1]中提到了一个不安全的HTTP地址(http://insecure.repo1.maven.org/maven2/),这个地址是为了过渡期准备的,但现在应该不再需要,因为所有官方仓库都要求HTTPS。因此,我们强烈建议使用HTTPS地址。 如果用户需要检查Maven中央仓库的坐标,可以访问:https://mvnrepository.com/ [^2]。 最后,确保Maven版本足够新(至少3.2.3以上)以支持HTTPS仓库。如果需要下载新版本的Maven,可以到官网:https://maven.apache.org/download.cgi [^2]。 总结步骤: 1. 编辑settings.xml文件(全局或用户级别) 2. 在<mirrors>部分添加上述镜像配置 3. 保存并重新运行Maven命令 这样配置后,Maven就会通过HTTPS访问中央仓库。 生成相关问题: 1. 如何将Maven项目中的依赖下载到本地仓库? 2. 如何配置Maven使用阿里云镜像加速下载? 3. Maven的settings.xml配置文件有哪些主要部分? </think> ### Maven配置中央仓库HTTPS源的方法 根据引用内容,Maven中央仓库已强制要求使用HTTPS协议[^1][^2]。以下是完整的配置方法: #### 1. **全局配置(推荐)** 修改`conf/settings.xml`文件,添加镜像配置: ```xml <mirrors> <mirror> <id>central-https</id> <name>Maven Central HTTPS</name> <!-- 必须使用HTTPS地址 --> <url>https://repo1.maven.org/maven2/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ``` > 此配置会覆盖默认的HTTP中央仓库地址[^1] #### 2. **项目级配置** 在`pom.xml`中显式指定仓库: ```xml <repositories> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> ``` #### 3. **关键注意事项** 1. **协议强制** Sonatype自2020年起强制要求HTTPS访问[^1],HTTP地址`http://repo1.maven.org`已失效 2. **正确地址格式** 必须使用标准路径格式: `https://repo1.maven.org/maven2/` (结尾的`/`不可省略) 3. **版本兼容性** Maven 3.6.3+ 版本默认支持HTTPS仓库 (旧版本需升级:[下载地址](https://maven.apache.org/download.cgi)[^2]) #### 4. **验证配置** 执行命令查看生效的仓库: ```bash mvn help:effective-settings ``` 输出中应包含: ``` <mirrors> <mirror> <id>central-https</id> <url>https://repo1.maven.org/maven2/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ``` #### 5. **备用镜像配置** 国内用户建议使用阿里云镜像加速: ```xml <mirror> <id>aliyunmaven</id> <url>https://maven.aliyun.com/repository/central</url> <mirrorOf>central</mirrorOf> </mirror> ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值