Spring boot 使用gradle将Zip文件上载到nexus
我有一个SpringBoot应用程序,作为构建的一部分,我想压缩生成的fat jar,以及来自我源代码的一些目录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
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)