gradle maven 发布插件:无法通过“发布”上传 zip
Posted
技术标签:
【中文标题】gradle maven 发布插件:无法通过“发布”上传 zip【英文标题】:gradle maven publish plugin : unable to upload zip via `publish` 【发布时间】:2020-07-16 08:55:51 【问题描述】:我正在尝试为我的 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 UI 中上传了 jar(bootJar)。但是 Nexus 中没有 zip 文件...
我想将我的 zip 存档文件上传到 Nexus。
我是否遗漏了什么,或者只是将maven-publish
插件与bootJar
一起使用并不好?
谢谢。
【问题讨论】:
【参考方案1】:下面发布 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 发布插件:无法通过“发布”上传 zip的主要内容,如果未能解决你的问题,请参考以下文章
Android Gradle 插件自定义 Gradle 插件模块 ③ ( Gradle 插件模块发布配置 | Windows 本地 Maven 仓库地址 | 将插件上传到本地 Maven 仓库 )
Android 库 - 使用 Gradle 将多个变体发布到本地 Maven 存储库
如何使用自定义 gradle 插件而不将其发布到 maven/ivy 存储库?
Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ⑧ ( 设置 Gradle 插件模块 | 将 Gradle 插件上传到自建 Maven 仓库 )