gradle maven 发布插件 : unable to upload zip via `publish`

标签 gradle deployment archive maven-publish

我正在尝试写一个 build.gradle对于我的 Spring Boot 应用程序。(gradle v. 6.5.1 )
构建后,我想将其部署到私有(private) Nexus 存储库。(带有 Assets zip 文件)
问题是...当我执行命令 gradle build publish --debug , 它会上传 bootJar,但不会上传 Assets zip 文件。并且控制台中没有可疑消息。
这是build.gradle的一部分

plugins {
    ...
    id "maven-publish"
}

task assembleAssets(type:Zip) {
    archiveFileName = "${rootProject.name}-${rootProject.version}.zip"
    destinationDirectory = file("${buildDir}/libs/")
    from "assets"
    classifier "assets"
}
tasks.build.dependsOn(assembleAssets)

# From bootJar
configurations {
    [apiElements, runtimeElements].each {
        it.outgoing.artifacts.removeIf { it.buildDependencies.getDependencies(null).contains(jar) }
        it.outgoing.artifact(bootJar)
    }
}

publishing {
    publications {

        bootJarDeploy(MavenPublication) {
            from components.java
        }

        assetDeploy(MavenPublication) {
            artifact source: assembleAssets, extension: 'zip', classifier: 'config'
        }
    }
    repositories {

        maven {
            url = "${nexus_url}"
            credentials {
                username repoUser
                password repoPw
            }
        }
    }
}

我检查了本地目录中的 Zip 文件生成并在 Nexus UI 中上传了 jar(bootJar)。但是 Nexus 中没有 zip 文件...
我想将我的 zip 存档文件上传到 Nexus。
有什么我遗漏的或者只是不好使用maven-publish带有 bootJar 的插件?
谢谢。

最佳答案

下面发布 zip 文件

task zipJ(type: Zip, dependsOn: jar) {
    from sourceSets.main.runtimeClasspath
}

build.dependsOn zipJ

publishing {
    publications {
        maven(MavenPublication) {
            //from components.java
            artifact jar
            artifact zipJ
        }
    }
}

关于gradle maven 发布插件 : unable to upload zip via `publish` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62931077/

相关文章:

spring - 混合 Java/Groovy 源的 Gradle 编译排序问题

gradle - 如何告诉 gradle 构建依赖项目的文件并将其上传到本地 maven

qt - Gradlew 抛出 java.net.SocketException

java - JPackage在创建DMG之前将文件复制到应用程序的Resource文件夹中

deployment - 如何使用 secret yaml配置文件部署heroku应用程序而不提交文件?

java - Gradle compileJava 无法从源文件中找到符号

deployment - Magento2不自动生成静态文件

ios - 新建存档的 xcodebuild 存档路径

delphi - 如何在 ISO 镜像中添加和删除文件?

linux - 如何在 zgrep 上使用正则表达式?