gradle - 如何更改使用 shadowjar 创建的 jar 的名称

标签 gradle jar build

我正在使用 shadowJar 插件来构建/创建我的 fatJar 。在我的 build.gradle 我有这个

shadowJar{
mergeServiceFiles('META-INF/spring.*')
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
exclude "META-INF/LICENSE"
}

使用 gradle shadowJar 创建我的 fat jar 。然而,创建的胖 jar 的名称是 sample-SNAPSHOT-ns.r100-all.jar 。我想将其更改为 sample-SNAPSHOT-ns.r100-deploy.jar 。你如何使用 ShadowJar 覆盖 jar 名称。

最佳答案

ShadowJar 插件提供了一个 Jar 任务扩展。使用 archiveFileName 进行配置属性,例如:

shadowJar{
    mergeServiceFiles('META-INF/spring.*')
    exclude "META-INF/*.SF"
    exclude "META-INF/*.DSA"
    exclude "META-INF/*.RSA"
    exclude "META-INF/LICENSE"
    archiveFileName = "sample-${classifier}-ns.r100-deploy.${extension}"
}

您可以使用 ${baseName}${appendix}${version}${classifier 等占位符}${extension}.

请注意,从 ShadowJar 版本 4 开始,archiveName 现在是 archiveFileName

关于gradle - 如何更改使用 shadowjar 创建的 jar 的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33526612/

相关文章:

android - 如何通过 Gradle 使 Android Studio 中的两个不同模块使用同一库的不同版本

java - Log4j2不同jar的不同日志

java - 如何为特定包maven创建jar

ios - 如何以交互模式运行expo?

eclipse - gradle项目导入失败

spring-boot - Spring Boot 1和Gradle:ClassNotFoundException SpringApplicationBuilder

java - Batik 传递库依赖项

java - 如何使用github的代码库?

java - 在 Maven 中创建具有外部依赖项的 jar 和其他 jar

c - 使用 make 文件在 c 中的单独目录中生成输出文件