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

    你可能感兴趣的文章
    Objective-C实现memcmp函数功能(附完整源码)
    查看>>
    Objective-C实现memcpy函数功能(附完整源码)
    查看>>
    Objective-C实现memoization优化技术算法(附完整源码)
    查看>>
    Objective-C实现memset函数功能(附完整源码)
    查看>>
    Objective-C实现merge insertion sort合并插入排序算法(附完整源码)
    查看>>
    Objective-C实现merge sort归并排序算法(附完整源码)
    查看>>
    Objective-C实现mergesort归并排序算法(附完整源码)
    查看>>
    Objective-C实现MidpointIntegration中点积分算法 (附完整源码)
    查看>>
    Objective-C实现miller rabin米勒-拉宾素性检验算法(附完整源码)
    查看>>
    Objective-C实现Miller-Rabin素性测试程序(附完整源码)
    查看>>
    Objective-C实现Miller-Rabin素性测试程序(附完整源码)
    查看>>
    Objective-C实现MinhashLSH算法(附完整源码)
    查看>>
    Objective-C实现MinhashLSH算法(附完整源码)
    查看>>
    Objective-C实现MinHeap最小堆算法(附完整源码)
    查看>>
    Objective-C实现minimum coin change最小硬币找零算法(附完整源码)
    查看>>
    Objective-C实现minimum cut最小切割流算法(附完整源码)
    查看>>
    Objective-C实现minimum partition最小分区算法(附完整源码)
    查看>>
    Objective-C实现Minimum Priority Queu最小优先级队列算法(附完整源码)
    查看>>
    Objective-C实现Minimum Vertex Cover最小顶点覆盖算法(附完整源码)
    查看>>
    Objective-C实现MinimumCostPath最小成本路径算法(附完整源码)
    查看>>