想要在 build.gradle 中指定 jar 名称和版本

新手上路,请多包涵

我想在 build.gradle 中指定 jar 名称和版本,所以我的 build.gradle 如下所示。

 apply plugin: 'java'

version = "1.00.00"

 dependencies {
     compile files('../../lib/abc.jar')
}

jar{
    manifest{
        attributes ("Fw-Version" : "2.50.00", "${parent.manifestSectionName}")

    }
    archiveName 'abc.jar'
}

所以当我做

gradle clean build ,我所期望的是生成的 jar 名称将是 abc-1.00.00.jar

但它没有发生,输出 jar 名称仅作为 abc.jar 并且它只是忽略了版本。我想同时指定 jar 名称和版本,那么我该如何实现呢?

原文由 amuser 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.1k
2 个回答

archiveName 'abc.jar' 在你的 jar 配置中强制名称为“abc.jar”。 jar 名称的默认格式为 ${baseName}-${appendix}-${version}-${classifier}.${extension} ,其中 baseName 是您的项目名称, version 版本的-- 是。如果您删除配置中的 archiveName 行,您将拥有您想要的格式。如果您希望存档的名称与项目名称不同,请设置 baseName ,例如

jar {
    manifest{
        attributes ("Fw-Version" : "2.50.00", "${parent.manifestSectionName}")
    }
    baseName 'abc'
}

有关配置 jar 更多信息,请参见 https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:archiveName --- 任务。

原文由 andyberry88 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于 Gradle 5+

build.gradle 常规DSL

 archiveBaseName = 'foo'

build.gradle.kts 科特林DSL

 archivesBaseName.set("foo") // Notice the double quotes

原文由 Ahmed Kamal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题