如何单模块打包到自己的私有仓

如何不使用Nexus搭建属于自己团队的一个maven或者Gradle私有仓。这里推荐使用阿里云新出的产品:云效。云效有个产品叫做制品库,我们可以利用制品库快速搭建自己的maven私有仓库。

云效:制品库

注册阿里云云效平台账号:https://devops.aliyun.com/。进入制品库,发现已经拥有发布以及快照两个仓。点击进去会有文档告知如何配置maven环境,推荐方式1直接覆盖settings文件即可

Idea设置使用自定义settings文件

如何单模块打包

首先弄懂maven的snapshot快照仓库和release发布仓库,所以打包也分为release包跟snapshot快照包。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。
定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),如下:

1
2
3
4
<groupId>com.rednet</groupId>
<artifactId>m1</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>jar</packaging>

如果是快照版本,那么在mvn deploy时会自动发布到快照版本库中,而使用快照版本的模块,在不更改版本号的情况下,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本。但是release不改版本号情况会出现如下错误

Failed to transfer file https://packages.aliyun.com/maven/repository/2019159-release-3dosVm/com/rednet/framework/spring-boot-starter-sms/1.0.2/spring-boot-starter-sms-1.0.2.jar with status code 409

IDEA无法更新最新的snapshot快照包,如何解决?IDEA->设置-》maven-》勾选aways update snapshots。

在模块中直接运行以下代码即可推送jar包到自己的阿里云私有仓
`
$ mvn clean deploy -DskipTests

`
也可以在IDEA中点击maven-》Lifecycle-》deploy进行发布。