gradle怎么打包发布到maven的nexus仓库
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"gradle怎么打包发布到maven的nexus仓库",在日常操作中,相信很多人在gradle怎么打包发布到maven的nexus仓库问题上存在疑惑,小编查阅了各式资料,整理出简单好
千家信息网最后更新 2026年11月04日gradle怎么打包发布到maven的nexus仓库
这篇文章主要介绍"gradle怎么打包发布到maven的nexus仓库",在日常操作中,相信很多人在gradle怎么打包发布到maven的nexus仓库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"gradle怎么打包发布到maven的nexus仓库"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
前提背景
公司要封装一个工具类,把常用的mybatis,apollo,redis,初始化运行检查等等都封装在一起,项目建好了,但是打包发布nexus之后,别的项目死活拉不到依赖包,经查,是gradle打包时生成的pom文件中没有加入模块依赖.
以前的解决方案及问题
以前公司用gradle打包的时候,先新建一个maven_push.gradle ,然后在要打包的模块build.gradle中加上一句
apply from: '../maven_push.gradle'
maven_push.gradle的内容如下:
// The Maven plugin adds support for deploying artifacts to Maven repositories.// 一个可以让你把库上传到maven仓库的插件apply plugin: 'maven'// The signing plugin adds the ability to digitally sign built files and artifacts. These digital signatures can then be used to prove who built the artifact the signature is attached to as well as other information such as when the signature was generated.// 对库文件进行数字签名的插件,可以通过签名知道谁创建了这个库文件,签名的时间等等信息apply plugin: 'signing'// 声明变量记录maven库地址def mavenRepositoryUrl// 判断是发布到正式库,还是snapshots库if (isReleaseBuild()) {println 'RELEASE BUILD'// 下面的库地址指向的是我们私有仓库的Releases 仓库mavenRepositoryUrl = "http://xxx.com/repository/maven-public/"} else {println 'SNAPSHOTS BUILD'// 下面的库地址指向的是我们私有仓库的snapshots 仓库mavenRepositoryUrl = "http://xxxx.com/repository/maven-snapshots/"}// 根据我们在likelib下gradle.properties中声明的版本名称,来分辨是Release版本还是 snapshots版本def isReleaseBuild() {return !VERSION_NAME.contains("SNAPSHOT");}afterEvaluate { project ->// 我们声明我们要执行的上传到maven的taskuploadArchives {repositories {mavenDeployer {beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }// 我们类比下compile com.squareup.okhttp:okhttp:2.7.0// artifactId 对应com.squareup.okhttp; groupId 对应okhttp;version对应2.7.0// 这样就类似坐标的方式定位到了制定的库文件pom.artifactId = POM_ARTIFACT_IDpom.groupId = POM_GROUP_IDpom.version = VERSION_NAME// 授权验证,这里也就是你登陆搭建的私服服务器时候的用户名\密码repository(url: mavenRepositoryUrl) {authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())}// 这里是配置我们maven库需要的pom.xml文件的各个内容,具体意思我们在主目录gradle.properties中解释pom.project {name POM_NAMEpackaging POM_PACKAGINGdescription POM_DESCRIPTIONurl POM_URL}}}}// 进行数字签名signing {required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }sign configurations.archives}}
这样是可以打包,但是对模块依赖就没办法打包,如gradle依赖配置如下:
dependencies { compile project(":tools-mybatis") compile project(":tools-ops")}但打包出来的pom.xml文件里面并没有这两个依赖.
新的打包方案
上述通过 maven 插件可能还有别的姿试可以打包,但是没有找到,通过查找官方文档,找到了以下解决方案
引入 maven-publish,这个plugin , 然后在模块build.gradle中加入配置:
publishing {publications {maven(MavenPublication) {groupId = groupartifactId = 'tools-starter'version = versionfrom components.java}}repositories {maven { url "http://xxxx.com/repository/maven-snapshots/"credentials {username 'xxx'password 'xxxx'}}}}
这样就可以通过Idea右边gradle工具栏的插件菜单来发布了

这样生成的pom.xml中是包含这两个依赖的.
到此,关于"gradle怎么打包发布到maven的nexus仓库"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
仓库
插件
模块
学习
地址
库文件
文件
方案
版本
配置
两个
公司
内容
可以通过
工具
指向
数字
数字签名
时候
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖南永感互联网科技有限公司
互联网科技工作委员会毛军
中国互联网科技工作委员会毛军
互联网和科技技术
科技金融是不是互联网金融
互联网 卓越科技
汇久创客互联网科技
融贸通互联网科技
郑州华宇互联网科技
深圳前海聚择互联网科技有限公司
移动互联网科技股
昭通互联网科技选哪家
乌苏新华互联网科技做什么的
工业互联网等科技实现智能化赋能
长沙互联网科技
黑科技 体验场景 互联网大会
江苏互联网智能科技软件
吉林省码上互联网科技电话
唯美互联网科技
三亚科技创新互联网基地
中关村互联网 科技集团
疫情对互联网科技公司影响
重庆互联网络科技
互联网科技开发公司
万易互联网科技
互联网科技股有哪些
北京大学互联网科技怎么样
互联网科技人工智能实验室
怎样加入科技互联网
厦门江牛科技互联网