博客
关于我
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/

    你可能感兴趣的文章
    OpenDaylight融合OpenStack架构分析
    查看>>
    openEuler Summit 2022 成功举行,开启全场景创新新时代
    查看>>
    openEuler 正式开放:推动计算多样化时代的到来
    查看>>
    OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_踩坑_安装以后系统无法联网_启动ens33网卡---国产瀚高数据库工作笔记002
    查看>>
    OpenFeign源码学习
    查看>>
    OpenFeign组件声明式服务调用
    查看>>
    Openfire身份认证绕过漏洞复现+利用(CVE-2023-32315)
    查看>>
    opengl 深度详解,多重采样时,如何在OpenGL纹理中解析深度值?
    查看>>
    OpenGL 的内置矩阵种种
    查看>>
    OpenGL中shader读取实现
    查看>>
    OpenGL的基本概念介绍
    查看>>
    OpenGL着色器、纹理开发案例
    查看>>
    opengl绘制几何体的函数
    查看>>
    OpenJDK11 下的HSDB工具使用入门
    查看>>
    openjdk踩坑
    查看>>
    openjudge 1792 迷宫 解析报告
    查看>>
    Openlayers Draw的用法、属性、方法、事件介绍
    查看>>
    Openlayers layer 基础及重点内容讲解
    查看>>
    Openlayers map三要素(view,target,layers),及其他参数属性方法介绍
    查看>>
    Openlayers Map事件基础及重点内容讲解
    查看>>