可以将写好的模块发布给别人去使用,也可以发布到公司的公共仓库中供需要的项目使用,这是公司多项目协作的重要环节。
Gradle项目发布流程如下图所示:
- 由Gradle将项目打包和创建metadata文件
- 按要求发布到本地仓库或者远程仓库
Gradle项目发布的实现
1.添加maven-publish插件
以发布core模块为例:
apply plugin : 'maven-publish'
2.配置发布任务
//配置发布任务
publishing {
//用来指定用jar包还是war包形式发布
publications {
//publishProject 为自定义名称,可写多个发布任务
publishProject(MavenPublication) {
from components.java
}
}
//配置发布到哪里
repositories {
maven {
//指定要上传的maven私服仓库
url = ""
//认证用户名和密码
credentials {
username 'root'
password 'admin'
}
}
}
}
3.执行发布
发布到远程私服
发布到本地仓库
发布到Maven中央仓库
执行clean,会发现多了publishing
generatePomFileForPublishProjectPublication: 生成pom文件
publish: 发布到repositories中指定的仓库,一般为maven私服
publishPublishProjectPublicationToMavenLocal: 执行publishProject指定操作到指定仓库,
publishPublishProjectPublicationToMavenRepository:执行publishProject中的操作并发布到指定仓库(私服)
publishToMavenLocal:执行所有发布任务中的操作发布到本地maven仓库
注意: publishProject 为上面gradle中自定义的任务名称,如果有其他任务,则会生成对应的其他任务的名称
直接双击publish,因为url我们没有配置,所以会默认发布到本地build目录下,(此处执行publish需要先将 上面配置的用户名和密码注释掉在执行),可以看到生成的jar和pom文件如下图所示: