我正在尝试写一个 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/