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

    你可能感兴趣的文章
    OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
    查看>>
    SQL--mysql索引
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>
    OSChina 周日乱弹 —— 2014 年各种奇葩评论集合
    查看>>
    OSChina 技术周刊第十期,每周技术抢先看!
    查看>>
    oscp--python
    查看>>
    OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
    查看>>
    OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
    查看>>
    osgearth介绍
    查看>>
    OSGi与Maven、Eclipse PlugIn的区别
    查看>>
    Osgi环境配置
    查看>>
    OSG——选取和拖拽
    查看>>
    OSG中找到特定节点的方法(转)
    查看>>
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:OSG中的智能指针
    查看>>
    OSG学习:OSG组成(一)——组成模块
    查看>>
    OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
    查看>>
    OSG学习:OSG组成(二)——场景树
    查看>>
    OSG学习:OSG组成(二)——渲染状态和纹理映射
    查看>>
    OSG学习:WIN10系统下OSG+VS2017编译及运行
    查看>>