如何使用 maven-publish 和 shadow 插件重命名使用 Gradle 发布的 jar 文件?

How to rename jar file that's being published using Gradle with maven-publish and shadow plugins?

基本上我想做的是将一个 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 但似乎找不到方法。在 shadowJar 任务中更改 archiveFileName 似乎不会影响 publishing jar,只会影响 build jar。

我认为您需要更改 shadowJar 任务的 archiveClassifier。默认情况下,这配置为 all.

类似于:

tasks.shadowJar {
    archiveClassifier = ""
}

shadowJar 任务 extends of the Jar task type. By default, with the Java pluginarchiveClassifier 配置为空字符串 ""。 Shadow 插件将其 shadowJar 任务重新配置为 all.