gradle上传jar包到maven公共仓库
首先这里说的中央仓库
是指的 https://issues.sonatype.org/
而不是maven私服。
其次是使用gradle上传jar包,maven上传,网上有很多教程,这里不做赘述。
首选在https://issues.sonatype.org/上注册账号并登陆!

接着是创建ISSUE(问题)

点击 新建 弹出对话框


填完信息后点击 新建 按钮即可。

可以看到ISSUE创建成功了。
在这里需要记住ISSUE ID 也就是本例中的OSSRH-53913
没有记住也没关系,在这里可以找到。

找到之后,迅速到你的github注意去创建一个仓库,这个仓库名叫:OSSRH-53913 (当然以你的ISSUE ID为准)
这个仓库就是个空仓库,什么都不用放
接下来就是等待了,直到这个ISSUE被审核通过(需要注意的是,如果不进行创建仓库那一步,审核是不会通过的)

审核通过之后,我们就可以上传jar包到中央仓库了.
我这里使用的gradle版本是5.6.2
编辑build.gradle文件
添加插件:
apply plugin: 'maven'
apply plugin: 'maven-publish'
再添加:
task sourcesJar (type:Jar) {
archiveClassifier = 'sources'
}
//设置任务依赖关系,打jar包的同时,打源码包
jar.dependsOn(sourcesJar)
/**
* 默认使用gradlew clean install命令时,仅仅只是安装编译好的包,源码包
* 是不会安装到maven仓库的,添加此配置可以将源码包打入到本地maven仓库
* doc包也可以如法炮制
*/
artifacts {
archives sourcesJar
}
publishing {
publications {
myPublication(MavenPublication) {
// 如果是war包填写components.web,如果是jar包填写components.java
from components.java
// 指定group/artifact/version信息,可以不填。默认使用项目group/name/version作为groupId/artifactId/version
// groupId需要注意一下,如果下面仓库的配置是oss.sonatype.org(即中央仓库),那么这里的groupId必须为你在sonatype中申请的ISSUE中设置的ID
groupId "io.github.chenwuwen"
artifactId "$project.name"
version "$version"
artifact(sourcesJar) {
classifier = 'sources'
}
}
}
repositories {
maven {
if (project.version.endsWith('-SNAPSHOT')) {
// 快照版本地址
// 这里如果配置的是sonatype(中央仓库的地址),需要注意上方的groupId,应该跟sonatype中的对应的ISSUE中设置的Group Id 一致
url "https://oss.sonatype.org/content/repositories/snapshots"
} else {
// 正式版本地址
// 这里如果配置的是sonatype(中央仓库的地址),需要注意上方的groupId,应该跟sonatype中的对应的ISSUE中设置的Group Id 一致
url "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
}
credentials {
username = '刚刚申请的sonatype账号'
password = '刚刚申请的sonatype密码'
}
}
}
}
添加完成之后。
执行命令:
gradlew publish
直到出现

表示上传成功。
怎么查看上传之后的jar包呢?
打开 https://oss.sonatype.org/#welcome (如果发现该网址一直出现 loading nexus ui ........ 尝试禁用一些浏览器插件/组件 等等 或者更换浏览器)
登录,输入之前申请的用户名密码(也可以不登录)

在中间的搜索框中输入,你上传jar包的 artifactId 即可!

也可以使用groupId搜索

如何在项目中使用刚刚上传的jar包呢?
首先需要添加仓库地址,使用maven添加仓库地址,是直接在pom.xml中添加
<repositories> <repository>
<id>snapshots</id>
<name>snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository> </repositories>
即可。
而gradle的使用方式,实在build.gradle中添加
repositories {
mavenLocal()
mavenCentral()
// 这里定义的地址是快照版本的地址,如果你的依赖不在快照库中,需要进行更改
maven {url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}
这样依赖就可以下载下来了
对于快照版本的依赖来说,每天都可能会更新快照(但是版本号不变),因为有时候拉取的依赖可能是旧版本的依赖(因为gradle为了加快构建的速度,对jar包默认会缓存24小时,缓存之后就不在请求远程仓库了)
所以我们只需要在Gradle 中设置更新策略即可:
编辑build.gradle 文件
configurations.all {
// check for updates every build
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
如果需要重新下载dependencies 执行 ./gradlew build --refresh-dependencies 即可
maven解决快照依赖可以参考:https://www.liangzl.com/get-article-detail-139465.html
快照版本的发布就结束了
正式版本的依赖发布稍微麻烦点
https://www.jianshu.com/p/5f6135e1925f
https://blog.csdn.net/xiajiqiu/article/details/77607492
https://blog.csdn.net/mr_zhuqiang/article/details/84564256
gradle上传jar包到maven公共仓库的更多相关文章
- 上传jar包到maven中央仓库过程中遇到的一些问题总结!
网上有很多相关教程, 我按步骤一步步走下来, 都还算顺利, 简单列举一下步骤以及其中需要注意的几个点(不详细, 不适合当教程) 第一步: 到https://issues.sonatype.org/se ...
- 上传jar包至maven私服
1.maven环境变量配置(新建系统变量,编辑Path) 2.修改maven的setting文件 2.1 私服的用户配置 2.2 私服镜像配置 2.3 (我也不知道是啥) <profile> ...
- Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】
搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找->私有仓库->中心仓库- 然而,我们的本地仓库常常没有想要的 ...
- maven安装 maven上传jar包到库里面
maven的安装与配置:http://pansanday.blog.163.com/blog/static/381662802012727103454743/ maven上传jar包到库里面: 将私有 ...
- maven上传jar包到nexus私服后的存放路径 以及 使用IDEA上传jar包的步骤
maven上传jar包到nexus私服的方法,网上大神详解很多,那么上传后的jar包存放到哪里了呢? 在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上传jar包.最后结果如下: 点 ...
- 实测Maven上传jar包到私服的方法归纳
Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...
- Maven上传jar包到私服
1.认证,在M2_HOME/conf/settings.xml配置用户名密码 <server> <id>releases</id> <username> ...
- Mac使用Gradle上传jar到中央仓库(最完整的采坑记录)
前言 当我们封装完成我们自己做的工具之后,那我们肯定想要发给别人让别人来进行使用,上传到中央仓库是一种引入时最方便的选择. 网上有很多教程,但是大多都是maven和windows的环境. 今天就来记录 ...
- 手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02
在上一篇文章中,我介绍了自己的SpringBoot Starter项目,可以让我们使用注解的方式轻松地获取操作日志,并推送到指定数据源. 之前,我的项目开源在Github上,大家想要用我的项目,还得把 ...
随机推荐
- flex简单参考实例
<!DOCTYPE html> <html> <head> <title></title> <style type="tex ...
- 初始化html font-size
(function () { var docEl = document.documentElement, resizeEvt = 'orientationchange' in window ? 'or ...
- Flutter AspectRatio、Card 卡片组件
Flutter AspectRatio 组件 AspectRatio 的作用是根据设置调整子元素 child 的宽高比. AspectRatio 首先会在布局限制条件允许的范围内尽可能的扩展,widg ...
- bat实现每天定时执行命令[windows底下每天重启一下Nginx]
--试验通过--Windows环境脚本名称:restart.bat脚本内容: @echo offtaskkill /f /fi "IMAGENAME eq nginx.exe"cd ...
- python多线程中join()的理解
在 Python 的多线程编程中,经常碰到 thread.join()这样的代码.那么今天咱们用实际代码来解释一下 join 函数的作用. 第一,当一个进程启动之后,会默认产生一个主线程,因为线程是程 ...
- Qt编写气体安全管理系统7-设备监控
一.前言 设备监控模块是地图监控模块的延伸,只不过是将设备做成一个个的独立的面板显示,类似于屏幕一样,展示的信息会更多一些,比如设备的名称型号等,有多少个设备就有多少个这样的设备面板,这个主要是针对不 ...
- 转 oracle 监控执行计划突然变化
########sample 执行计划突然变化 问题: 接受到一条信息,执行计划突然变化了. SELECT /*+ db120190621 no_expand */ INTERNAL_KEY FROM ...
- [ kvm ] 学习笔记 3:KVM 基础功能详解
1. 构建 KVM 环境 KVM 从诞生开始就需要硬件虚拟化的支持,KVM 必需的硬件虚拟化扩展分别是:Intel 的虚拟化技术(Intel VT)和 AMD 的 AMD-V 技术.首先处理器(CPU ...
- 基于jsplumb插件制作可拖拽、保存流程图、重绘保存后的流程图总结
1.重点参考博文 https://blog.csdn.net/j_bean/article/details/78092647 2.关键点总结 1)实现可视区域图形画满后,拖动整个画布的效果 a.最好不 ...
- C# .NET UDP 形式调用 graylog,gelf
-- 发送: GelfLogModel m = new GelfLogModel(); m.version = "1.1"; m.host = "128.0.14.39& ...