pom中更换阿里云仓库时不要忽略了pluginRepositories

用maven也大几年了,也一直在用阿里云的中央仓库。
不喜欢在maven的settings.xml里改,更喜欢直接在pom.xml里改,因为受git管理,小伙伴们拉下来即可。

然而网上的大部分技术文章都只会指导你这么配置:

<repositories>
    <repository>
        <id>aliyun</id>
        <url>https://maven.aliyun.com/repository/public</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

如果你只是配置了repositories,那么你会发现在mvn在下载依赖的时候,一部分从阿里云下载,一部分还是从默认的仓库(https://repo.maven.apache.org )下载。

# mvn clean install
[INFO] Scanning for projects...
Downloading from aliyun: http://maven.aliyun.com/nexus/content/groups/public/org/springframework/boot/spring-boot-starter-parent/2.0.2.RELEASE/spring-boot-s
tarter-parent-2.0.2.RELEASE.pom
Downloaded from aliyun: http://maven.aliyun.com/nexus/content/groups/public/org/springframework/boot/spring-boot-starter-parent/2.0.2.RELEASE/spring-boot-st
arter-parent-2.0.2.RELEASE.pom (12 kB at 3.1 kB/s)
...
...
...
[INFO]
[INFO] --------------------------< com.zy:zy-parent >--------------------------
[INFO] Building zy-parent 1.0.0-SNAPSHOT
[INFO] --------------------------------[ pom ]---------------------------------
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.pom (4.8 kB at 2.2 k
B/s)
...
...
...
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ zy-parent ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom (2.3 kB at 1.5 kB/s)
...
...
...
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ zy-parent ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom (1.5 kB at 1.2 kB/s)
...
...
...
[INFO] Installing E:\work\scratch\lily\src\zy-parent\pom.xml to D:\tools\maven\repo\com\zy\zy-parent\1.0.0-SNAPSHOT\zy-parent-1.0.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:25 min
[INFO] Finished at: 2019-11-14T10:13:53+08:00
[INFO] ------------------------------------------------------------------------

原来,只有项目本身的依赖,走了aliyun这个repository,maven命令需要的插件(比如clean、install都是maven的插件),走的还是默认的repository。

查看maven的官方文档(http://maven.apache.org/pom.html#Plugin_Repositories ),可以看到pom中除了repositories节点之外,还有一个关于仓库的节点是pluginRepositories:

Repositories are home to two major types of artifacts. The first are artifacts that are used as dependencies of other artifacts. These are the majority of plugins that reside within central. The other type of artifact is plugins. Maven plugins are themselves a special type of artifact. Because of this, plugin repositories may be separated from other repositories (although, I have yet to hear a convincing argument for doing so). In any case, the structure of the pluginRepositories element block is similar to the repositories element. The pluginRepository elements each specify a remote location of where Maven can find new plugins.

所以我们还需要再pom中增加pluginRepositories才可以。
这也是网上大部分文章里忽略掉的内容。。。。。

最终的pom文件如下:

<repositories>
    <repository>
        <id>aliyun</id>
        <url>https://maven.aliyun.com/repository/public</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>aliyun-plugin</id>
        <url>https://maven.aliyun.com/repository/public</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

现在,你可以清空本地maven仓库中的包,然后再次执一下mvn clean install,看看是不是都走了阿里云的仓库了。

原文地址:https://www.cnblogs.com/default/p/11856188.html

时间: 2024-10-29 05:18:59

pom中更换阿里云仓库时不要忽略了pluginRepositories的相关文章

在Maven项目中,指定使用阿里云仓库下载jar包

Maven项目中,在pom.xml的</project>标签之前加入一下标签,指定使用阿里云仓库下载jar包. <!-- 使用aliyun maven --> <repositories> <repository> <id>aliyun</id> <name>aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public&

在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现Web端直传,服务端签名直传并设置上传回调的实现流程

在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现本地文件上传流程 by shuijingwan · 2016/01/13 1.SDK安装 github地址:https://github.com/aliyun/aliyun-oss-php-sdk 2.复制aliyun-oss-php-sdk-master\src\OSS至passport.hmwis.com\ThinkPHP\Library\Vendor\OSS,如图1.2 复制aliyun-os

安装Ubuntu服务器版 + 远程连接ssh +更换阿里云源

安装Ubuntu服务器版 1.点击 “开启此虚拟机”,开始安装. 2.默认选择English,英文版安装,直接按Enter键即可. 3.默认选择“Install Ubuntu Server”,安装ubuntu服务器版. 4.继续默认项“English” 5.国家或地区我们选择  “Other”--> "Asia" --> "China" 6.继续默认项 7.是否检测键盘布局,我们选择“No” 8.键盘布局所属国家:English  :键盘布局:Engli

Ubuntu系统中登陆阿里云服务器的方法

如果您购买了阿里云服务器,恰巧又在使用Ubuntu操作系统,那么恭喜你来对地方了,今天给大家分享一下如何在Ubuntu中登陆阿里云服务器: 主要使用两款软件:1.SecureCRT:2.SecureFX:前者是命令行界面,功能类似xShell,后者则提供了图形操作界面,权且当做是xFTP吧,xShell和xFTP是我以前在windows系统中使用的服务器连接软件,它有类似Linux的终端模拟,同时可以配合xFTP显示图形界面,后来换用Ubuntu之后,找到了SecureCRT和SecureFX用

Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库

转发请注明此文章作者与路径,请尊重原著,违者必究. 开始 本篇文章结束在本地创建完成镜像后,发布到公共仓库.这里的仓库是阿里云的仓库. 流程是:进入阿里云Docker仓库控制台->新建镜像仓库->按照阿里云教程上传本地镜像到云仓库->到阿里云控制台查看仓库,存在则成功. 进入阿里云仓库 这里使用的是阿里云的存储,可以注册阿里云账号,并且进入仓储,获取私人的存储地址. 设置阿里云仓储,首先进入https://cr.console.aliyun.com/cn-shenzhen/reposit

阿里云仓库

old for andorid studio/gradle:maven { url "http://maven.aliyun.com/nexus/content/groups/public/" } new for andorid studio/gradle:maven { url "https://maven.aliyun.com/repository/public/" } 查看阿里云仓库列表: https://maven.aliyun.com/mvn/view 阿

Maven 阿里云仓库地址

https://maven.aliyun.com/mvn/view 一般使用聚合仓库(group),path是仓库地址.可点击右上角“使用指南”: 附   目前阿里云仓库的地址 https://maven.aliyun.com/repository/public https://maven.aliyun.com/nexus/content/groups/public 2个地址是等价的,只不过一个是新地址,一个是旧地址. 原文地址:https://www.cnblogs.com/chy188837

【阿里云产品公测】在Laravel4框架中使用阿里云OCS缓存

作者:阿里云用户 supechina Laravel 是我最近用得非常多而且越用就越喜欢的一款PHP框架,由于没有向下兼容的历史包袱,完全面向对象的风格,借助 Facades 优雅的 IoC Container 实现,采用 Composer 进行包管理,可以方便地引入和使用开源社区里的优秀组件……总而言之,这是一款真正让你能够 "code happy" 的“巨匠级PHP开发框架”. 在尝试把自己的 Laravel App 部署到阿里云的时候,遇到了一个问题: Laravel 支持 Me

centos7更换阿里云yum源后无法安装nginx的问题解决

在centos7上,我将yum源更换为阿里云源,按照配置完成后,想使用yum安装nginx,但是老是提示我找不到nginx,没有可用的安装包,无论我是换为华为云的yum源,还是其他国内源,都无法找到.我的centos版本为7.7 无论我是安装epel-release,还是安装nginx的仓库,都没办法找到nginx包 我的nginx repo配置也没问题 一安装就找不到 但是可以用yum搜索到nginx的其他组件 这不科学 后来我想一个办法,在能够yum安装nginx的同样的机器上,把nginx