【问题标题】:SpringBoot: can't create fully executable jar with 2.0.0-M3SpringBoot:无法使用 2.0.0-M3 创建完全可执行的 jar
【发布时间】:2026-02-12 14:00:01
【问题描述】:

我有一个多模块 Gradle 项目,我尝试升级到 2.0.0-M3。 按照here 的说明,我将其添加到我的构建脚本中:

springBoot {
    executable = true
}

但是当我构建时出现以下错误:

Could not set unknown property 'executable' for object of type org.springframework.boot.gradle.dsl.SpringBootExtension.

是在里程碑中出现了什么问题还是我做错了什么?

【问题讨论】:

  • 你是如何构建的?
  • 据我所知,executable 已从 2.0.0-M3 中删除,并且默认情况下 jar 和 war 都是可执行的。
  • jar 文件不可执行,即使我更改了权限,当我尝试执行它时也会出错。我不确定这东西应该如何工作,文档有点模糊。麦克斯,你什么意思?我跑./gradlew build

标签: spring-boot gradle jar executable-jar


【解决方案1】:

此配置在 Spring Boot 2.0 中已更改。而不是在springBoot 扩展上配置它,现在它是configured on an individual BootJar or BootWar task。例如:

bootJar {
    launchScript {
        included = true
    }
}

从 Spring Boot 2.0 M4 开始,此配置已进一步简化:

bootJar {
    launchScript()
}

您可能需要打开一个问题来更正您链接到的文档,因为它已过期。

【讨论】:

  • SpringBoot 2.0.3 使用launchScript() 版本
最近更新 更多