如何发布项目到maven
说明:发布插件使用gradle官方的gradle 插件Maven Publish Plugin
—maven-publish
在要发布的项目A中添加代码
我在发布的项目中添加了一个简易工具类:
class CollectionUtils {
companion object {
fun <E>isEmpty(target: MutableList<E>?): Boolean {
return target != null && target.isEmpty()
}
}
}
引入插件
在你的module下build.gradle.kts中
plugins {
`maven-publish`
}
注册快速发布task
在module下build.gradle.kts
//创建发布任务
publishing {
//发布信息
publications {
create<MavenPublication>("maven") {
//域名
groupId = "com.wilson.plugin"
//id
artifactId = "com.wilson.snap"
version = "0.0"
from(components["java"])
}
}
repositories {
maven {
//仓库地址,此处我发布到本地了
url = uri("../../wilsonMaven")
//发布到远程maven仓库需要账户密码
// credentials {
// username = ""
// password = ""
// }
}
}
如果发布到远程仓库,就需要配置账户密码
发布任务
同步之后,androidStudio右侧gradle>module>task下就会多出当前的publish
发布任务,双击publish
开始执行发布任务;
如果找不到这个任务,可以双击ctrl
,然后在输入框输入gradle publish
等待发布任务完成,就可以在配置的maven仓库目录看到发布的内容:
其他项目中使用
- 在项目setting.gradle添加仓库地址
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
//我的仓库地址
maven{
url = uri("../wilsonMaven")
}
}
}
- 在module下build.gradle引入
dependencies {
implementation("com.wilson.plugin:com.wilson.snap:0.0")
}
可以看到,这里仓库地址其实是3部分域名
:仓库名称
:版本
,和上面仓库发布时候配置的一一对应
- 在代码中使用
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val emptyIntArray = arrayListOf(Int)
val empty = CollectionUtils.isEmpty(emptyIntArray)
}
}
这就是如何简单快速的发布项目到maven并使用
后期我会更新更多的gradle相关帖子