【问题标题】:gradle - spring boot is not recognized - Could not set unknown property 'archiveFileName' for task ':bootJar'gradle - spring boot 无法识别 - 无法为任务“:bootJar”设置未知属性“archiveFileName”
【发布时间】:2020-12-14 02:59:33
【问题描述】:
由于某种原因,在尝试使用 Jenkins 使用 gradle 构建 Spring Boot 应用程序时,我收到以下错误:
出了什么问题:
评估根项目“ProjectName”时出现问题。
遇到的错误如下:
Could not set unknown property 'archiveFileName' for task ':bootJar' of type org.springframework.boot.gradle.tasks.bundling.BootJar.
有什么帮助吗?
谢谢
【问题讨论】:
标签:
spring-boot
jenkins
gradle
【解决方案1】:
在 Gradle 5.2 中引入了 jar 类型的任务上的属性 archiveFileName(因此也适用于 bootJar 任务`),因此您很可能在较旧版本的 Gradle 上运行。
该属性是您(或项目的其他维护者)直接在build.gradle 文件中设置的内容,或者是作为 Spring Boot 插件实现的一部分设置的。
首先,确保您使用的 Spring Boot 版本与您正在使用的 Gradle 版本兼容。对于当前版本的 Spring Boot,您可以找到需求here。如果您使用旧版本,请务必查看该特定版本的文档。作为参考,以下是他们对 Spring Boot 版本 2.3.3 的评价:
Spring Boot 的 Gradle 插件需要 Gradle 6(6.3 或更高版本)。 Gradle 5.6 也受支持,但此支持已被弃用,将在未来版本中删除。
其次,请确保您使用的是 Gradle 包装器(带有“w”的gradlew)而不是系统范围的安装(仅gradle)。这可确保您运行的 Gradle 版本与创建该项目的版本相同。如果您需要升级或降级 Gradle,请阅读 this。当然,您在 gradle 文件中使用的任何 DSL 都需要与包装器中配置的 Gradle 版本兼容。