gpt4 book ai didi

spring-boot - 使用gradle将Zip文件上传到nexus

转载 作者:行者123 更新时间:2023-12-03 05:09:51 33 4
gpt4 key购买 nike

我有一个SpringBoot应用程序,作为构建的一部分,我想将生成的胖子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”,而该任务内部取决于gradle任务“assemble”和“build”。这意味着“myZip”要求在您调用“myZip”时首先执行“build”,“assembly”和“bootRepackage”。
build.dependsOn(myzip)意味着您要使任务“build”依赖于要执行的“myZip”才能执行“build”。这将创建一个循环。

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

关于spring-boot - 使用gradle将Zip文件上传到nexus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49823680/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com