如何从Gradle插件仓库下载.pom文件并发布至私有Maven仓库
解决无网络环境下Gradle插件依赖缺失问题
一、在联网环境获取插件的.pom及对应jar文件
Gradle插件仓库本质是标准Maven仓库,可直接构造链接下载所需文件:
- 确定插件坐标:在plugins.gradle.org搜索目标插件,进入详情页查看
groupId、artifactId、version。比如io.spring.dependency-management插件的坐标是:- groupId:
io.spring.dependency-management - artifactId:
io.spring.dependency-management.gradle.plugin - version:
1.1.4
- groupId:
- 构造下载链接:
- pom文件链接格式:
https://plugins.gradle.org/m2/{groupId替换斜杠}/{artifactId}/{version}/{artifactId}-{version}.pom
示例链接:https://plugins.gradle.org/m2/io/spring/dependency-management/io.spring.dependency-management.gradle.plugin/1.1.4/io.spring.dependency-management.gradle.plugin-1.1.4.pom - jar文件(多数插件需要):把上述链接中的
.pom替换为.jar即可
- pom文件链接格式:
- 用浏览器、
curl或wget下载文件,比如:curl -O https://plugins.gradle.org/m2/io/spring/dependency-management/io.spring.dependency-management.gradle.plugin/1.1.4/io.spring.dependency-management.gradle.plugin-1.1.4.pom curl -O https://plugins.gradle.org/m2/io/spring/dependency-management/io.spring.dependency-management.gradle.plugin/1.1.4/io.spring.dependency-management.gradle.plugin-1.1.4.jar
二、发布到私有Maven仓库
方法1:通过私有仓Web界面手动上传(适合少量插件)
- 登录私有仓管理后台(如Nexus、Artifactory),找到Maven格式的上传入口
- 上传已下载的
.pom和.jar文件,填写对应的groupId、artifactId、version,确保与文件命名完全匹配 - 提交后等待仓库索引完成
方法2:用Gradle任务批量上传(适合多个插件)
- 新建临时Gradle项目,在
build.gradle中配置私有仓信息:plugins { id 'maven' } repositories { maven { url "http://你的私有仓地址/repository/maven-releases/" credentials { username = "私有仓账号" password = "私有仓密码" } } } uploadArchives { repositories { mavenDeployer { repository(url: "http://你的私有仓地址/repository/maven-releases/") { authentication(userName: "私有仓账号", password: "私有仓密码") } // 替换为目标插件的坐标 pom.groupId = "io.spring.dependency-management" pom.artifactId = "io.spring.dependency-management.gradle.plugin" pom.version = "1.1.4" } } } - 将下载的
.pom和.jar放入项目的build/libs目录(或修改任务指定文件路径) - 执行上传任务:
gradle uploadArchives
三、无网络环境验证
在目标项目的build.gradle中仅配置私有仓:
repositories { maven { url "http://你的私有仓地址/repository/maven-releases/" } } plugins { id 'io.spring.dependency-management' version '1.1.4' }
执行gradle build,确认插件可正常拉取并完成构建。
内容的提问来源于stack exchange,提问作者Nikita Chegodaev
相关产品推荐
相关产品推荐

