maven-publish 如何发布项目到maven


在这里插入图片描述

说明:发布插件使用gradle官方的gradle 插件Maven Publish Pluginmaven-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相关帖子

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
m-publish是一个Gradle插件,用于将本地library发布到Apache Maven仓库。通过使用该插件,我们可以将*.aar、*.jar等library发布到仓库中,并通过gradle或者maven进行远程依赖使用。 要使用maven-publish插件,需要在build.gradle中声明插件,并在publishing{}块中进行配置。首先,通过在plugins{}块中添加id 'maven-publish'来声明插件。然后,在publishing{}块中,可以配置group和version属性,以及定义要发布的publication和repository。 例如,通过components.java来指定要发布的library,使用mavenLocal()来指定要发布到的仓库。可以根据需要添加更多的publication和repository配置。 maven-publish插件提供了一些任务,如generatePomFileForPubNamePublication用于创建需要发布的POM文件,并填充一些已知的元数据,例如项目名称、项目版本和依赖项。publishPubNamePublicationToRepoNameRepository用于将指定publication发布到指定repository。publishPubNamePublicationToMavenLocal用于将指定publication发布复制到本地Maven缓存,包括POM文件和其他元数据。 此外,还有一些其他任务,如publish将所有定义的publication发布到所有定义的存储库的聚合任务,而publishToMavenLocal将所有定义的publication复制到本地Maven库中,包括它们的元数据。 例如,如果我们有一个名为myLibrary的publication,并将其发布mavenLocal()仓库,我们可以运行命令publishPubNamePublicationToMavenLocal来实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值