【问题标题】:Create jar with fix name excluding version using gradle使用 gradle 创建不包括版本的修复名称的 jar
【发布时间】:2019-06-09 06:49:27
【问题描述】:

我想创建一个 fat jar 使用 gradle 仅名称,不包括项目的版本。

我正在使用gradle 5.1spring boot 2.1.1

我尝试了以下解决方案,但没有成功

  1. https://stackoverflow.com/a/53123771/8123983
  2. https://stackoverflow.com/a/31407245/8123983

    • 默认 jar 名称project-0.0.1-SNAPSHOT.jar

    • 预期的 jar 名称 project-xyz.jar

【问题讨论】:

  • 你能发布你的 gradle 文件吗?

标签: spring-boot gradle


【解决方案1】:

我终于找到了解决办法!

jar { archivesBaseName="project-name" project.version="" }

我也尝试过使用version 而不是project.version。但是,它在 gradle 5.1 中不再起作用,因为根据文档已弃用它。

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:version

archivesBaseName 仅更改前缀名称,不会从 jar 名称中删除版本。

【讨论】:

    【解决方案2】:

    以 Spring Boot 2.4+ && Gradle 6+ 为例, 修改build.gradle

    plugins {
        id 'org.springframework.boot' version '2.4.0.RELEASE'
    }
    
    bootJar {
        archiveFileName = 'flawless-application.jar'
    }
    

    没有启动插件

    jar {
        archiveFileName = 'flawless-application.jar'
    }
    

    更多文档在这里:

    1. https://docs.gradle.org/current/dsl/org.gradle.api.Project.html
    2. https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:archiveFileName
    3. https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#packaging-executable

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2014-12-19
      • 2021-06-11
      • 1970-01-01
      • 2018-11-15
      • 2013-06-06
      • 1970-01-01
      • 2018-09-30
      • 2023-03-10
      相关资源
      最近更新 更多