You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Nebula Release Plugin为构建版本添加classifier?

给Nebula Release Plugin配置「vault」分类器的方案

首先明确:Nebula Release Plugin核心负责版本号的递增(Major/Minor/Patch),分类器(classifier)属于构建产物属性或版本预发布标识,需要结合Gradle发布配置或Nebula的版本规则实现,以下是两种可行方案:

方案1:给构建产物添加「vault」分类器

如果仅希望库的构建产物(如jar包)带分类器,不修改版本号本身,可在Gradle脚本中配置发布规则:

plugins {
    id 'nebula.release'
    id 'java-library'
    id 'maven-publish'
}

// 配置发布产物的分类器
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
            artifactId = 'your-library-artifact-id'
            // 给产物添加vault分类器
            classifier = 'vault'
        }
    }
}

// 可选:针对特定分支自动启用分类器
release {
    branchRules = [
        ~/feature\/vault/: { version -> version },
        ~/.*/: { version -> version }
    ]
}

依赖该版本时需指定分类器:implementation 'your-group-id:your-library-artifact-id:1.2.3:vault'

方案2:生成带「vault」后缀的版本号

如果希望版本号本身带有标识(如1.2.3-vault),可通过Nebula的预发布版本配置实现:

plugins {
    id 'nebula.release'
}

release {
    // 全局设置预发布后缀,或针对分支动态配置
    branchRules = [
        ~/feature\/vault/: { version ->
            // 给当前版本添加-vault后缀
            "${version}-vault"
        },
        // 其他分支保持正常版本号
        ~/.*/: { version -> version }
    ]
}

这种方式会直接生成带后缀的版本号,依赖时直接引用implementation 'your-group-id:your-library-artifact-id:1.2.3-vault'即可,不会干扰使用正式版本的开发者。

注意事项

  • 方案1的分类器仅区分产物,版本号不变;方案2直接修改版本号,更直观区分功能分支版本
  • 可结合CI/CD流程,在Vault功能分支构建时自动触发对应配置,无需手动修改脚本

内容的提问来源于stack exchange,提问作者Raystorm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:16:04