如何在 gradle 5+ 中为 shadowJar 插件指定归档分类器
Posted
技术标签:
【中文标题】如何在 gradle 5+ 中为 shadowJar 插件指定归档分类器【英文标题】:How to specify archive classifier for shadowJar plugin in gradle 5+ 【发布时间】:2019-09-20 19:31:28 【问题描述】:从版本 5 开始 gradle
changed Archive Tasks behavior
这打破了shadowJar
任务默认行为,不再创建<name>-<version>-all.jar
工件。
如何恢复此行为并创建*-all.jar
?
【问题讨论】:
【参考方案1】:不要使用已弃用的classifier 和archiveName 配置shadowJar
插件,方法如下:
shadowJar
archiveClassifier = 'all'
或者因为Gradle 5.1使用Property
:
shadowJar
archiveClassifier.set('all')
查看有关问题讨论的更多信息:
https://github.com/johnrengelman/shadow/issues/446#issuecomment-460328699 https://github.com/johnrengelman/shadow/issues/450
【讨论】:
Intellij 建议我不能将 archiveClassifier 设置为字符串(作为属性),而是使用 archiveClassifier.set('') 这是一个新的 Gradle API,具有Property
值 (docs.gradle.org/current/javadoc/org/gradle/api/provider/…) 而不是旧的 String
自 5.1 版以来的新 Gradle DSL API:docs.gradle.org/5.1/…以上是关于如何在 gradle 5+ 中为 shadowJar 插件指定归档分类器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 build.gradle 中为不同的 productFlavors 定义 android:label
如何在 Gradle 中为 OpenAPI 3.0 使用 Swagger Codegen?
我应该如何在 Gradle 中为 Spring Boot 应用程序设置主类?
如何在Android Studio中为Gradle设置apk的应用名称