gradle maven publish 插件:无法通过 `publish` 上传 zip
gradle maven publish plugin : unable to upload zip via `publish`
我正在尝试为我的 Spring 启动应用程序编写 build.gradle
。(gradle v.6.5.1
)
构建后,我想将其部署到私有 Nexus 存储库。(带有资产 zip 文件)
问题是...当我执行命令gradle build publish --debug
时,它会上传bootJar,但不会上传资产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 中上传了 jar(bootJar) UI。但是 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
}
}
}
我正在尝试为我的 Spring 启动应用程序编写 build.gradle
。(gradle v.6.5.1
)
构建后,我想将其部署到私有 Nexus 存储库。(带有资产 zip 文件)
问题是...当我执行命令gradle build publish --debug
时,它会上传bootJar,但不会上传资产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 中上传了 jar(bootJar) UI。但是 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
}
}
}