在 Gradle 1.3 中,引入了一种新的发布插件,即:maven-publish ,这个新的插件引入了一些新概念和新功能,使 Gradle 发布功能更加强大,现在是发布工件的首选选项。 插件 插件类:MavenPublishPlugin 在 Gradle 6.2 之后, maven 插件就彻底被废弃,无法使用了,只能使用 maven-publish 插件,因此 maven-publish 1、maven-publish插件的基本使用 应用插件: apply plugin: "maven-publish" **配置发布产物:**使用 maven-publish 插件发布aar 包的时候,基础 具体来说就是 Android Gradle 插件对 maven-publish 插件有了支持。 总结: 1、maven 与 maven-publish 插件的区别: maven 插件比较老,配置简单,在Gradle 6.2 之后,就完全废弃了。
例如apply plugin: 'maven-publish' 和apply plugin: 'maven'。这其实是两个maven插件。这两个maven插件生成的pom文件有部分区别。 所以我们如果直接 apply plugin: 'maven' 改为 apply plugin: 'maven-publish' 需要注意dependencies 里面的配置。 //方案1 apply plugin: 'maven-publish' dependencies { compile 'androidx.appcompat:appcompat:1.0.0' 建议大家还是尽量使用apply plugin: 'maven-publish'进行打包。这样更规范更符合标准。
---- 首先你需要启用 Gradle 的 Maven-publish 插件。 plugins { id 'maven-publish' } 如上面的代码,你需要确保你的插件已经启用了。
---- 首先你需要启用 Gradle 的 Maven-publish 插件。 plugins { id 'maven-publish' } 如上面的代码,你需要确保你的插件已经启用了。
在Gradle模块中执行publishToMavenLocal时会将模块安装到 如何将Gradle模块安装到本地仓库 使用maven-publish插件(在模块build.gradle文件中添加): plugins { id 'java' id 'maven-publish' // 应用maven发布插件 } 添加publishing任务(在模块build.gradle文件中设置): publishing
下面是两个分别使用groovy和Kotlin的具体的例子: Groovy DSL plugins { id "java-library" id "maven-publish" id project.properties["myNexusPassword"] } } } Kotlin DSL plugins { `java-library` `maven-publish 首先定义的nexusPublishing { repositories { ... } } 会拦截所有子项目的 maven-publish 插件,用来修改发布地址。
下面是两个分别使用groovy和Kotlin的具体的例子: Groovy DSL plugins { id "java-library" id "maven-publish" id project.properties["myNexusPassword"] } } } Kotlin DSL plugins { `java-library` `maven-publish 首先定义的nexusPublishing { repositories { ... } } 会拦截所有子项目的 maven-publish 插件,用来修改发布地址。
com.android.tools.build:gradle:4.2.1" } } 三、配置自定义 Gradle 插件上传选项 ---- 如果想要将 插件上传到 远程仓库 或者 本地仓库 中 , 需要引入一个 maven-publish 插件 ; // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish' 然后 , 创建 publishing 扩展 , 在该扩展中 , 可以在其中的 publishing / publications / xxx / artifactId 配置中 自己指定 插件名称 ; // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定 // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定 // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish
下面是两个分别使用groovy和Kotlin的具体的例子: Groovy DSL plugins { id "java-library" id "maven-publish" id project.properties["myNexusPassword"] } } } Kotlin DSL plugins { `java-library` `maven-publish 首先定义的nexusPublishing { repositories { ... } } 会拦截所有子项目的 maven-publish 插件,用来修改发布地址。
bintrayUpload -PbintrayUser=javakam -PbintrayKey=xxx -PdryRun=false 复制代码 二、新方案(mavenCentral) 该方案使用的Google官方的maven-publish 和signing插件, 未使用其他第三方插件 : apply plugin: 'maven-publish' apply plugin: 'signing' 复制代码 1.
---- 你首先需要添加到 org.springframework.boot 到插件中: 例如下面的代码: plugins { id 'maven-publish' id "org.asciidoctor.convert
你首先需要添加到 org.springframework.boot 到插件中: 例如下面的代码: plugins { id 'maven-publish' id "org.asciidoctor.convert
脚本,配置项目 应用 maven-publih 插件 添加 Gradle 和 Groovy 的依赖 配置上传任务 最后就是这样子 plugins { id 'groovy' id 'maven-publish 执行 maven-publish 的 publish 任务,将插件发布到指定仓库。 ? 发布成功后的仓库 ? 插件创建完成了,也发布了,下面就是使用这个插件了。 配合 maven-publish 可以为每个插件创建对应的发布任务。 在发布时也会为每个插件发布对应的 “插件标记工件” 。 maven { name 'local' url 'file://E:/libs/localMaven' } } } maven-publish 的任务 简单介绍一下 maven-publish 的发布任务 generatePomFileFor${PubName}Publication 为名字为 PubName 的的发布创建一个 POM 文件
此时的 自定义 Gradle 插件是无法在其它 Module 中引入的 ; 四、配置自定义 Gradle 插件发布选项 ---- 如果想要将 插件上传到 远程仓库 或者 本地仓库 中 , 需要引入一个 maven-publish 插件 ; // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish' 然后 , 创建 publishing 扩展 , 在该扩展中 , 可以在其中的 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定 // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定 // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定 // 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish
再使用maven-publish插件, 就可以直接将项目发布到本地仓库
id 'maven-publish' } afterEvaluate { publishing { publications { release(MavenPublication
BuildCompletionListener 类找不到 环境配置问题 → SDK location not found 2.2 插件依赖问题的解决方案 问题分析: 在Gradle 8.9中,旧的maven插件已被废弃,必须使用maven-publish repository(url: "file://${buildDir}/repos") } } } 现代化配置: // 推荐的现代化配置 apply plugin: 'maven-publish outputs/ 第六部分:经验总结与避坑指南 6.1 关键问题解决速查表 问题现象 根本原因 解决方案 Plugin with id 'maven' not found 使用过时的Gradle插件 迁移到maven-publish
亦可以配置自己的gradlehome 4、修改build.gradle配置文件,添加依赖 apply plugin: 'java' apply plugin: 'maven' apply plugin: 'maven-publish
:gradle-bintray-plugin:0.6' } } plugins { id 'groovy' id 'idea' id 'maven' id 'maven-publish 'groovy'" >>build.gradle echo "id 'idea'" >>build.gradle echo "id 'maven'">>build.gradle echo "id 'maven-publish
然后修改 Gradle 中的内容 apply plugin: 'groovy' //必须 apply plugin: 'maven-publish' dependencies { implementation 文件中使用 include 引入 第二步:修改 build.gradle 文件,发布到 maven 仓库中 apply plugin: 'groovy' //必须 apply plugin: 'maven-publish