博客
关于我
maven配置多仓库的方法
阅读量:467 次
发布时间:2019-03-06

本文共 3644 字,大约阅读时间需要 12 分钟。

从公司私有仓库到自有仓库的Maven配置转换

刚接触Maven时,公司通常已经配置好了私有仓库,所以一直使用都很顺畅。然而,当将公司电脑拿回家后,发现无法正常使用私有仓库时,问题就浮现了。原来公司使用的是公司内部的Maven私服,在家无法访问,这是很正常的事情。那么,当脱离公司环境后,是否真的无法工作了呢?显然不可能,开源工具不应该完全依赖公司网络。

本文将介绍如何在家中配置一个公开的Maven仓库,使其能够顺畅工作。


1. 修改默认Maven仓库地址,直接从公网下载

如果想直接替换私有仓库,可以通过修改Maven的默认仓库地址来实现。以下是一个常见的私有仓库配置示例:

${user.home}/.m2/repository
releases
admin
123
snapshots
admin
123
mypublic
Public
http://test.nexus.com/nexus/content/groups/public/
central
internal
http://test.nexus.com/nexus/content/groups/public/
central
nexus
central
http://central/
true
true
nexus

如果需要更快速地切换,可以直接修改镜像仓库的URL,如下所示:

central
internal
http://maven.aliyun.com/nexus/content/groups/public/
central

此时,只需在需要时切换URL即可,但这种方法效率不高,且容易遗漏。


2. 添加多仓库配置,减少频繁切换

为了避免频繁切换,可以在Maven配置中添加多个仓库地址,如下所示:

alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
*
alimaven
org.maven.repo1
https://repo1.maven.org/
false
nexus
repo1

这样配置后,Maven会优先尝试已知的仓库,但在网络不通时会逐一尝试其他仓库。虽然这样可以减少切换次数,但在网络不佳时可能会影响下载速度。


3. 最简单的仓库配置方法

如果不想添加镜像仓库,可以直接在Maven配置中添加一个新的仓库地址,如下所示:

repo1
org.maven.repo1
https://repo1.maven.org/
false

然后在<activeProfiles>中激活此仓库:

nexus
repo1

这样既不影响原有配置,又能在家中顺利工作。需要注意的是,<activeProfiles>中的<activeprofile>属性是必不可少的,否则配置更改将无效。


4. 处理无法拉取SNAPSHOT包的问题

经过上述配置后,可能会遇到无法拉取SNAPSHOT包的问题。Maven默认不允许使用SNAPSHOT包,但如果需要使用,可以通过以下方式启用:

central
http://central/
true
true
always
warn

此时,Maven将允许拉取SNAPSHOT包。


5. 完整的Maven配置示例

以下是一个完整的Maven配置示例,供参考:

${user.home}/.m2/repository
sec@public-snapshots
snapshot_user
snapshot123
mirror-sec
snapshot_user
snapshot123
sec
repo1
org.maven.repo1
https://repo1.maven.org/
false
sec-snapshots
sec-snapshots
http://maven.sec-ins.com.cn/repository/maven-public/
true
true
sec
my-profile

6. Idea Maven配置方法

在IntelliJ Idea中,可以通过以下步骤配置Maven仓库:

  • 打开File > Settings > Maven > Repositories
  • 点击Add,输入仓库ID、地址等信息。
  • 点击OK,完成配置。
  • 这样,就能在家中顺利使用Maven仓库了。

    转载地址:http://zflbz.baihongyu.com/

    你可能感兴趣的文章
    OpenCV3 install tutorial for Mac
    查看>>
    opencv3-Mat对象
    查看>>
    opencv30-图像矩
    查看>>
    opencv32-基于距离变换和分水岭的图像分割
    查看>>
    opencv4-图像操作
    查看>>
    opencv5-图像混合
    查看>>
    opencv6-调整图像亮度和对比度
    查看>>
    opencv9-膨胀和腐蚀
    查看>>
    OpenCV_ cv2.imshow()
    查看>>
    opencv——图像缩放1(resize)
    查看>>
    Opencv——模块介绍
    查看>>
    OpenCV与AI深度学习 | 2024年AI初学者需要掌握的热门技能有哪些?
    查看>>
    OpenCV与AI深度学习 | CIB-SE-YOLOv8: 优化的YOLOv8, 用于施工现场的安全设备实时检测 !
    查看>>
    OpenCV与AI深度学习 | OpenCV图像拼接--Stitching detailed使用与参数介绍
    查看>>
    OpenCV与AI深度学习 | OpenCV快速傅里叶变换(FFT)用于图像和视频流的模糊检测(建议收藏!)
    查看>>
    OpenCV与AI深度学习 | SAM2(Segment Anything Model 2)新一代分割一切大模型介绍与使用(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
    查看>>
    OpenCV与AI深度学习 | YOLOv11来了:将重新定义AI的可能性
    查看>>
    OpenCV与AI深度学习 | YOLOv8自定义数据集训练实现火焰和烟雾检测(代码+数据集!)
    查看>>
    OpenCV与AI深度学习 | YOLOv8重磅升级,新增旋转目标检测,又该学习了!
    查看>>