首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

gradle maven-发布插件仅发布第一个子模块工件

gradle和maven都是流行的构建工具,用于管理和构建Java项目。在使用gradle或maven构建多模块项目时,有时候我们只想发布其中一个子模块的工件,而不是整个项目。

对于gradle,可以使用gradle的发布插件来实现仅发布第一个子模块工件的需求。发布插件是gradle的一个官方插件,它提供了一种简单的方式来发布构建产物到本地或远程仓库。

要使用gradle发布插件,首先需要在项目的根目录下的build.gradle文件中添加以下代码:

代码语言:txt
复制
plugins {
    id 'maven-publish'
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

然后,在需要发布的子模块的build.gradle文件中,添加以下代码:

代码语言:txt
复制
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

接下来,可以使用以下命令来发布第一个子模块的工件:

代码语言:txt
复制
gradle publish

这样,gradle会将第一个子模块的构建产物发布到本地或远程仓库中。

对于maven,可以使用maven的deploy命令来实现仅发布第一个子模块工件的需求。在需要发布的子模块的pom.xml文件中,添加以下代码:

代码语言:txt
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>3.0.0-M1</version>
            <executions>
                <execution>
                    <id>deploy</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>deploy</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

然后,在项目根目录下执行以下命令来发布第一个子模块的工件:

代码语言:txt
复制
mvn deploy

这样,maven会将第一个子模块的构建产物发布到本地或远程仓库中。

总结一下,使用gradle的发布插件或maven的deploy命令可以实现仅发布第一个子模块工件的需求。这样可以提高构建效率,避免不必要的发布操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android Gradle 插件】自定义 Gradle 插件模块 ③ ( Gradle 插件模块发布配置 | Windows 本地 Maven 仓库地址 | 将插件上传到本地 Maven 仓库 )

文章目录 一、自定义 Gradle 插件发布配置 二、Windows 本地 Maven 仓库地址 三、将插件上传到本地 Maven 仓库 Android Plugin DSL Reference 参考文档...自定义 Gradle 插件 - GitHub 地址 : https://github.com/han1202012/Android_UI 一、自定义 Gradle 插件发布配置 ---- 在上一篇博客...【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 在模块中定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 )...中 , 定义完插件后 , 在 自定义 Gradle 插件模块 的 build.gradle 构建脚本中 , 添加了 插件上传仓库的 配置 , 为插件指定了 分组 , 版本号 , 名称 配置 ; //...插件名称 artifactId 'plugin' } } } 首次编译执行 , 可以在 自定义 Gradle 插件的 Module 模块 下 , 看到

92810

Gradle 插件

使用插件可以将相似的代码进行封装以提高重用性,使构建脚本高度模块化,增强组织性和可读性。 插件类型 Gradle 有两种插件 脚本插件 二进制插件 脚本插件 脚本插件通常是一个脚本。.../build.gradle plugins { id 'org.gradle.sample.goodbye' } 上面的示例演示了如何给多个子项目分别应用不同的插件。...pluginManagement{} 只能定义在两个地方: settings.gradle 里,并且必须是第一模块 init.gradle 里 settings.gradle pluginManagement...关于将插件发布到自定义的仓库的可以查看 Gradle 插件开发: 传送门 Plugin Marker Artifacts (插件标记工件) 这里插入一个 Maven 中的概念:Artifact (工件)...插件和 org.gradle.sample.goodbye 插件发布到 Ivy 和 Maven 仓库。

1.1K10

使用新 Android Gradle 插件加速您的应用构建

Lint 性能优化 从 Android Gradle 插件 7.0 版本开始,Lint 任务可以显示为 "UP-TO-DATE",即如果模块的源代码和资源没有更改,那么就不需要对该模块进行 Lint 分析任务...△ 配置缓存带来的性能提升 上图展示包含 24 个子项目的 Gradle 构建示例,这组构建使用了最新版本的 Kotlin、Gradle 和 Android Gradle 插件。...Android Gradle 插件会根据您的这些定义生成不同的变体对象,并对应各自的构建任务。这些构建任务的输出会被注册为与任务对应的工件 (artifact),并且根据需要被分为公有工件和私有工件。...Android Gradle 插件为不同工件提供了额外的访问方式,比如当您想要校验某个工件的内容时,可以通过下面的代码来获得 AAR 工件: androidComponents.onVariants {...相比扩展 DSL,扩展 Variant API 有这样一些优势: DSL 值是固定的,但自定义变体属性可以使用构建任务的输出,Gradle 会自动处理所有构建任务的依赖项。

2.6K30

【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ③ ( 配置上传工件 | 将 Gradle 插件 jar 包、源码、文档上传到本地Maven 仓库 )

文章目录 一、配置 artifacts 工程工件 二、配置上传工件 三、将 Gradle 插件 jar 包、源码、文档上传到本地Maven 仓库 Android Plugin DSL Reference...插件配置与 Gradle 配置关联 : 【Android Gradle 插件Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与...#android 模块配置文档 : android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html ProductFlavor.../han1202012/Android_UI 一、配置 artifacts 工程工件 ---- 在前两篇博客 【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven...包中 ; artifacts 配置 , 是用于配置 工程工件 对应的 jar 包产出 配置 ; // 配置 工程工件 对应的 jar 包产出 配置 // 这里将 文档打包 和 源码打包 后的 jar

1.3K20

Gradle 自定义插件

关于插件的介绍,可以参考我的另一篇文章 Gradle 插件 这里讲的自定义插件是二进制插件,二进制插件可以打包发布,有利于分享。...执行 maven-publish 的 publish 任务,将插件发布到指定仓库。 ? 发布成功后的仓库 ? 插件创建完成了,也发布了,下面就是使用这个插件了。...配合 maven-publish 可以为每个插件创建对应的发布任务。 在发布时也会为每个插件发布对应的 “插件标记工件” 。...插件标记工件 关于 插件标记工件这里插一下: 每个 maven 工件都是由三部分标识的 groupId artifactId version 平常我们添加依赖的这样的: implementation '...groupId:artifactId:version' 而我们的插件是通过 id 应用的,怎么通过 id 找到对应的工件呢,这就有了“插件标记工件”。

1.9K20

杂篇:一代版本一代神

模块项目 |---Gradle在Android中的应用 |---最后写一个创建文件夹的小插件 一、Gradle简介 1.我与Gradle的邂逅 百分之八十的Gradle使用者应该都是从AndroidStudio...第一次接触Gradle是看一片介绍oKHttp的文章,照着写一句,然后神奇的就OK了 这让我很惊讶,当看到源码时发现已经下载到本地了。...|---依赖管理、编译、测试、打包、发布、灵活的脚本 3.Gradle是什么,怎么安装?...,PS(Android目前也是用的gradle-4.10.1) Idea插件报错.png 修改Gradle配置,出现下面的界面,Gradle插件就运行ok了 成功.png 4.Java VS...mkdir.gradle ---一行搞定 插件部分你不用Groovy,全部用java写都可以,Groovy对java是兼容的 插件你也可以新建一个项目来制作,可以发布一下,给更多人使用 所以燃烧你的小宇宙

1.2K20

Gradle 与 Maven

几位开发人员创建了 Gradle,并于 2007 年首次发布,并于 2013 年被 Google 采用为 Android 项目的构建系统。它旨在支持预计会非常庞大的多项目构建。...它使用 XML 文件来描述您正在构建的项目、软件与第三方模块和部件的依赖关系、构建顺序以及所需的插件。打包和编译等任务有预定义的目标。...性能方面,两者都允许多模块构建并行运行。但是,Gradle 允许增量构建,因为它会检查哪些任务已更新。如果是,则不执行任务,从而缩短构建时间。...两者都使您能够构建指定的项目及其依赖项。然而,Gradle 有一个完全可配置的 DAG,而使用 Maven,一个目标只能附加到另一个目标。多个目标采用有序列表的形式。...它还使用 Maven 用于识别工件的相同 GAV 格式。 插件和集成。Maven 还支持各种构建生命周期步骤,并与第三方工具无缝集成,例如 CI 服务器、代码覆盖插件工件存储库系统等。

1.7K40

Gradle Kotlin DSL指南

使用Gradle插件一章解释了如何在根项目构建脚本中声明一个版本的插件,然后将它们应用到相应子项目的构建脚本中。下面是一个使用三个子项目和三个插件的方法示例。...Portal获取的插件只能通过Plugins{}块声明,如果它们和它们的插件标记工件一起发布的话。...例如,Gradle的Android Plugin没有发布Gradle Plugin Portal,并且——至少在插件3.2.0版本之前——解析给定插件标识符的构件所需的元数据没有发布到谷歌存储库。...发布插件时,请使用Gradle内置的Gradle Plugin Development Plugin。它通过plugins{}块自动发布所需的元数据,使您的插件可用。...*由指定模块提供的插件。这是因为封装的模块使用编写自定义插件一章中描述的属性-文件机制,包含了插件ID映射到插件实现类的详细信息。

10K20

【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ② ( 组件化基本实现 | Project 相关目录 | 定义组件切换标志位 | 切换插件导入 | 切换设置应用 ID )

文章目录 一、Project 中可获取的目录 二、定义模块化与组件化切换标志位 三、切换插件导入 四、切换设置应用 ID 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle...构建目录是生成所有工件的目录。...设置为 true. ( 单独运行 ) ; 模块化模式 : 在 Release 发布阶段, 只有一个壳应用是可以独立运行的, 其它所有的模块都作为依赖库存在, 此时, isModuleDebug 设置为..., 因此相关的模块都是 Application 应用模块, * 此时, isModuleDebug 设置为 true. ( 单独运行 ) * 在 Release 发布阶段,...构建脚本即可 ; 三、切换插件导入 ---- 在模块下的 build.gradle 构建脚本 中 , 默认的 " Phone & Tablet " 类型的 Module 模块插件导入配置为 : plugins

1.1K20

vivo官网App模块化开发方案-ModularDevTool

2、版本发布阶段,流程繁琐,过多重复劳动,流程如下:2.1、逐个修改子仓的版本,指定snapshot或release;2.2、每个子仓需要提交修改版本号的代码到git;2.3、每个子仓都要手动触发发布maven...四、ModularDevTool概览工具采用了shell脚本+gradle插件的方式实现的。...Sync流程如下:(2)子模块依赖处理在之前我们依赖不同子仓的代码时,需要手动修改settings.gradle导入子模块,然后修改build.gradle中的dependencies,如下图。<!...第一步,主仓依赖gradle插件modular_dev_plugin;(该插件包含settings、tools、base、publish四个子插件,其中settings、tools和base插件配合实现子仓代码管理...、动态依赖处理,publish插件实现子仓的aar发布)第二步,主仓的settings.gradle应用settings插件,主仓的app build.gradle中应用tools和base插件;第三步

76430

Gradle Vs Maven:Java项目构建工具如何选择?

Gradle它使用有向无环图确定运行任务的顺序。 Gradle于2007年首次发布,并于2013年被Google用作Android项目的构建系统。它旨在支持非常庞大的多工程构建。...它使用XML文件描述正在构建的项目以及与第三方模块有关的软件依赖性,构建顺序以及所需的插件。可以提前定义打包和编译之类的任务。...使用Maven构建项目时,目标将附加到项目阶段,目标的作用类似于Gradle的任务,即“完成任务的事物”。 在性能方面,两者都允许多模块构建并行运行。...它为其POM文件使用一个声明性XML文件,并具有许多可以使用的插件Gradle使用Maven上相同的目录结构,但是可以自定义。它还使用了与Maven用来识别工件的GAV格式相同的格式。...插件和集成:Maven具有很多的插件,并与第三方工具(例如CI服务器,代码覆盖插件工件存储库系统)无缝集成。就插件而言,现在有越来越多的可用插件,并且有大型厂商具有与Gradle兼容的插件

14.1K21

Android:发布aar包到maven仓库以及 maven插件 和 maven-publish 插件的区别

发布 aar 包到 maven 仓库,主要是使用 Gradle 提供的插件: maven 插件(旧版),在 Gradle 6.2 之后,就完全被弃用了(增加了 @Deprecated 注解) maven-publish...插件 maven插件,是 Gradle 1.0 的时候提供的用于发布aar/jar包到 Maven 仓库的插件。...在 Gradle 1.3 中,引入了一种新的发布插件,即:maven-publish ,这个新的插件引入了一些新概念和新功能,使 Gradle 发布功能更加强大,现在是发布工件的首选选项。...二、maven 插件 maven 插件Gradle 1.0的时候提供的,使用 maven 插件,遵循如下步骤: 1、使用 maven 插件 在 需要发布aar包的 library 模块的 build.gradle...Android Gradle 插件会为应用或库模块中的每个构建变体工件创建一个组件,您可以使用它来自定义要发布到 Maven 代码库的发布内容 Android 插件所创建的组件取决于模块是否使用应用或库插件

4.1K30

Gradle 5.0 正式版发布

Gradle 5.0 正式版发布 Gradle 5.0 正式版发布了,官方表示这是史上最快、最安全,最强大的版本,且没有之一。...这是一个非常棒的消息,因为编译java任务不需要重新编译所有的源文件,除了第一次之外,这将大大的提供代码编译的效率。...平台定义(又称Maven BOM依赖项)是本地支持的,它允许在不使用外部插件的情况下导入Spring之类的东西。 依赖项对齐允许逻辑组中的不同模块(例如Jackson模块)对齐到相同的版本。...APIs Gradle 5.0引入了新的api来改进对Maven和Ivy存储库的管理。主要包括: 签名插件支持对发布的所有工件签名。 发布了配置范围内的依赖项排除。...Maven发布和Ivy发布插件提供类型安全的dsl来定制作为发布的一部分生成的pom或Ivy模块。 任务超时处理 现在您可以为任务指定超时时间,超时后任务将被中断。

2.3K30

Gradle 5.0 正式版发布

这是一个非常棒的消息,因为编译java任务不需要重新编译所有的源文件,除了第一次之外,这将大大的提供代码编译的效率。...平台定义(又称Maven BOM依赖项)是本地支持的,它允许在不使用外部插件的情况下导入Spring之类的东西。 依赖项对齐允许逻辑组中的不同模块(例如Jackson模块)对齐到相同的版本。...APIs Gradle 5.0引入了新的api来改进对Maven和Ivy存储库的管理。主要包括: 签名插件支持对发布的所有工件签名。 发布了配置范围内的依赖项排除。...Maven发布和Ivy发布插件提供类型安全的dsl来定制作为发布的一部分生成的pom或Ivy模块。 任务超时处理 现在您可以为任务指定超时时间,超时后任务将被中断。...更新您的Gradle插件,特别是那些在构建扫描的警告的插件。 升级到JDK 8或更高版本,需要运行Gradle 5.0。

1.6K20
领券