前言

最近工作也比较忙,难得有时间闲下来在自己的博客中写篇文章。距离上次发表文章已经有 10个月了,故赶紧水一篇文章出来。

这篇文章将讲述如何将自己写的工具类或者开源框架打包发布到 MavenCentral 中,让自己的朋友或者同事能够远程使用你的代码。

比如,在 build.gradle 中加入依赖:implementation("io.github.cofbro:mvvmutils:1.0.0"),就能够将你的 jar包 下载到本地使用。

☑️ 接下来,我将以成本最小、效率最高的方法带你完成整个过程,那么进入正题。

准备好原材料

现在你想把你写的完美无敌精妙的代码发布到 MavenCentral 中,首先需要上传到 github 中。

ps:这一步不会的同学请自行百度⚡

注册一个 sonatype 账号

进入官网 sonatype


点击 新建 ,然后 问题类型 选择 New Project概要 就随便输一个相关的名字就ok。


接下来:

  • Group Id: io.github.<Your github username>
  • Project URL: 这里就是你push到github仓库的地址
  • SCM url: <Project URL>.git
  • Username(s): Username of your sonatype

全部配置完后点击右下角完成。

认证你的Github

上述步骤完成后,会有相关人员在你的 issue 下进行评论。

大概意思是:

1️⃣. 在你的 Github 账号下创建一个名为 OSSRH-xxxxx 的仓库以证明你是账号拥有者。

2️⃣. 完成后回复此评论。

照做后,出现下述评论即代表通过验证

将代码推送到 Maven Central

在你想要上传至中央仓库的模块中的 build.gradle 中,加入以下代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 用于打包源代码的任务
task androidSourcesJar(type: Jar) {
archiveClassifier.set('sources')
from android.sourceSets.main.java.srcDirs
}

// 用于把aar打包到maven仓库的任务
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release
artifact androidSourcesJar
groupId = 'io.github.cofbro' // group id
artifactId = 'mvvmutils' // 库名称
version = '1.0.0' // 库版本
}
}

repositories {
maven {
allowInsecureProtocol = true // 仓库默认不允许使用非https协议,所以这里设置为允许
url 'https://s01.oss.sonatype.org/content/repositories/releases/' // maven仓库地址
credentials {
username 'cofbro' // maven仓库账号-sonatype
password 'xxxxxxxx' // maven仓库密码-sonatype
}
}
}
}
}

最后对模块进行build ,成功后即可在 Maven仓库 中找到你的 Jar包

写在最后

学会了吗?学会了还不赶紧发布一次你的代码?😍😍