Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 使用gradle将Zip文件上载到nexus_Spring Boot_Gradle - Fatal编程技术网

Spring boot 使用gradle将Zip文件上载到nexus

Spring boot 使用gradle将Zip文件上载到nexus,spring-boot,gradle,Spring Boot,Gradle,我有一个SpringBoot应用程序,作为构建的一部分,我想压缩生成的fat jar,以及来自我源代码的一些目录conf和.sh脚本。然后将该zip文件上传到nexus。我无法做到这一点 以下是我在build.gradle中的任务 task myzip(type: Zip) { doFirst { new File(buildDir, 'logs').mkdirs() } def fileName = "${jar.baseName}-${jar.vers

我有一个SpringBoot应用程序,作为构建的一部分,我想压缩生成的fat jar,以及来自我源代码的一些目录
conf
.sh
脚本。然后将该zip文件上传到nexus。我无法做到这一点

以下是我在build.gradle中的任务

task myzip(type: Zip) {
    doFirst {
        new File(buildDir, 'logs').mkdirs()
    }
    def fileName = "${jar.baseName}-${jar.version}"
    from projectDir into 'manager-service'
    include "conf/*"
    include "*.sh"
    exclude "conf/config-client"
    from buildDir into 'manager-service'
    include "logs/*"
    from file("$buildDir/libs")
    include "${fileName}.jar"
    archiveName "manager-service.zip"
}

myzip.dependsOn(bootRepackage)

artifacts {archives myzip}
build.dependsOn(myzip)

uploadArchives {
    repositories {
        apply plugin: 'maven'
        mavenDeployer {
            repository(url: System.getenv("NEXUSREPO")) {
                String username = System.getenv("NEXUS_SNAPSHOT_REPO_USERNAME");
                String password = System.getenv("NEXUS_SNAPSHOT_REPO_PASSWORD");
                print "foo"
                authentication(userName: username.toString(), password: password)
            }
        }
    }
}
但当我运行构建时,它会失败,并出现以下错误:

Circular dependency between the following tasks:
:bootRepackage
\--- :myzip
     \--- :bootRepackage (*)
我如何解决这个问题

使用
myzip.dependsOn(bootRepackage)
您的任务“myzip”依赖于任务“bootRepackage”,而任务“bootRepackage”内部依赖于渐变任务“assemble”和“build”。这意味着“myZip”要求在调用“myZip”时首先执行“build”、“assemble”和“bootRepackage”

build.dependsOn(myzip)
意味着您使任务“build”依赖于要执行的“myzip”,以便执行“build”。这将创建一个循环

要解决此问题,请从build.gradle文件中删除
build.dependsOn(myzip)