首页 > 解决方案 > 如何使用带有 maven-publish 和 shadow 插件的 Gradle 重命名正在发布的 jar 文件?

问题描述

基本上我想要做的是将一个 jar 文件发布到具有特定名称的 GitHub 包。我现在拥有的是:

shadowJar {
    archiveFileName = "Some-Name-${parent.version}.${extension}"
}

publishing {

   ...

    publications {
        shadow(MavenPublication) { publication ->
            project.shadow.component(publication)
            artifactId = 'me.project'
            groupId = 'some-project'
            version = 1.1.0
            
        }
    }
}

但是从这个我得到some-project-1.1.0-all.jar,我想得到some-project-1.1.0.jar但似乎无法找到方法。更改任务似乎不会影响罐子archiveFileName,只影响罐子。shadowJarpublishingbuild

标签: javamavengradlemaven-publishgradle-shadow-plugin

解决方案


我相信你需要改变任务archiveClassifier的。shadowJar默认情况下,它被配置为all.

就像是:

tasks.shadowJar {
    archiveClassifier = ""
}

任务类型的shadowJar任务扩展Jar默认情况下,使用Java 插件archiveClassifier配置为空字符串""。Shadow 插件shadowJar使用all.


推荐阅读