首页 文章

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

提问于
浏览
7

我正在使用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创建我的胖 jar . 但是,创建的胖 jar 的名称是样本-SNAPSHOT-ns.r100-all.jar . 我想将其更改为sample-SNAPSHOT-ns.r100-deploy.jar . 你如何使用ShadowJar覆盖jar名称 .

2 回答

  • 0

    因为,Shadow插件为Jar任务提供了扩展,您可以尝试通过archiveName属性进行配置 . 可以这样做:

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

    注意,您可以使用占位符,例如 ${baseName}${appendix}${version}${classifier}${extension}

  • 13

    您似乎只想将 -all 替换为 -deploy ,只需将分类器选项添加到shadowjar:

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

相关问题