每日干货:自定义 Maven 的 repositories

Posted 慕课猿圈圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日干货:自定义 Maven 的 repositories相关的知识,希望对你有一定的参考价值。

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要

自定义Maven的<repositories>

自定义Maven的<repositories>

以Spring应用程序程序为例,需要添加一个Spring Security 5.2.0.BUILD-SNAPSHOT版本的依赖,可惜这是个snapshot,并不在镜像站中。

<!-- Spring Snapshots仓库 --><repositories>    <repository>        <id>spring-snapshots</id>        <name>Spring Snapshots</name>        <url>https://repo.spring.io/snapshot</url>    </repository></repositories>

这样,就能从这个仓库中,获取到 Spring Security 5.2.0.BUILD-SNAPSHOT版本的依赖了。

检查Maven的settings.xml

但有时,跟着上面的设置方法并不奏效,仍然还是从之前的镜像站中去下载。此时,我们需要去检查下 Maven 安装目录下的settings.xml:

<mirror>    <id>nexus-aliyun</id>    <mirrorOf>*</mirrorOf>    <name>Nexus aliyun</name>    <url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>

可以看到,在设置镜像时,mirrorOf设置为了“*”,意味所有的依赖都是从这个镜像上下载。完全不给Spring Snapshots机会了。

解决方法也简单,改为下面的方式:

<mirror>    <id>nexus-aliyun</id>    <mirrorOf>*,!spring-snapshots</mirrorOf>    <name>Nexus aliyun</name>    <url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>

mirrorOf设置为了“*,!spring-snapshots”,意味除了Spring Snapshots外,所有的依赖都是从这个镜像上下载。这样就能下载到 Spring Snapshots了。

以下是mirrorOf的详细解释。

mirrorOf的配置解释

mirrorOf的配置支持如下场景:

  • *:所有依赖;

  • external:*:所有不再本地和不是基于文件的依赖;

  • repo,repo1:所有来自repo或者repo1仓库的依赖;

  • *,!repo1:除了repo1外的所有依赖。即上面示例中的场景。


啊哈,看完大佬的文章,也要来关注一下大佬的课程捧捧场呀~


课程如下:

每日干货:自定义 Maven 的 repositories 慕课网 基于Spring Boot技术栈 博客系统企业级前后端实战

课程亮点:

带你围绕Spring Boot技术栈,所涉及的技术不仅限于某个领域,以整合多个技术点,搭建一个能够用于快速开发的框架,一步一步构建博客系统的各个功能,实现一个完整前后端的企业级Java应用。

适合人群:

如果你对Spring Boot感兴趣,想要应用到实际项目中,但实践经验不足,那本课程渐进式的讲解特别适合你,有Spring开发经验即可。

本文原创发布于慕课网 ,转载请注明出处,谢谢合作

END


每日干货:自定义 Maven 的 repositories

j

   


每日干货:自定义 Maven 的 repositories
每日干货:自定义 Maven 的 repositories
每日干货:自定义 Maven 的 repositories
每日干货:自定义 Maven 的 repositories

慕课猿圈圈

关注科技,更关注生活

每日干货:自定义 Maven 的 repositories



以上是关于每日干货:自定义 Maven 的 repositories的主要内容,如果未能解决你的问题,请参考以下文章

Dialog 使用详解

自定义fastjson解析+热部署

maven之构建多模块maven工程

Android -- 每日一问:如何实现自定义View?

Android -- 每日一问:如何实现自定义View?

Linux每日练习-awk命令之内部自定义函数 20200224