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

    你可能感兴趣的文章
    OpenLayers 项目分析(三)-OpenLayers中定制JavaScript内置类
    查看>>
    Openlayers中使用Cluster+Overlay实现点击单个要素和聚合要素时显示不同弹窗
    查看>>
    Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合
    查看>>
    Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合
    查看>>
    Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度)
    查看>>
    Openlayers中加载Geoserver切割的EPSG:900913离线瓦片图层组
    查看>>
    Openlayers中多图层遮挡时调整图层上下顺序
    查看>>
    Openlayers中将某个feature置于最上层
    查看>>
    Openlayers中点击地图获取坐标并输出
    查看>>
    Openlayers中设置定时绘制和清理直线图层
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    Openlayers实战:modifystart、modifyend互动示例
    查看>>
    Openlayers实战:判断共享单车是否在电子围栏内
    查看>>
    Openlayers实战:加载Bing地图
    查看>>
    Openlayers实战:绘制图形,导出geojson文件
    查看>>
    Openlayers实战:绘制图形,导出KML文件
    查看>>
    Openlayers实战:绘制多边形,导出CSV文件
    查看>>
    Openlayers实战:绘制带箭头的线
    查看>>
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>