build.gradle - 将 ArchiveName 传递给 gradle 中的 UploadArchives
问题描述
从 Spring Boot 1.5.19 迁移到 Spring Boot 2.0.4 后,我们在 jenkins 上的构建遇到了问题。使用 gradle 4.2.1。我们认为版本之间的 spring boot gradle 插件的行为变化导致了我们的问题。
spring Boot gradle 插件也从 1.5.19 更新到 2.0.4
我们的目标工件命名约定是:
project-name-<version>-<branch>-RELEASE.jar
jar 文件正确生成,在 build.gradle 文件中指定了以下内容。
bootJar {
baseName = 'project_name'
}
执行 uploadArchives 任务时会出现问题。此任务查找具有以下命名约定的人工制品。
<path-folder-name>-<version>-<branch>-RELEASE.jar
jenkins 上的文件夹路径的名称在哪里。
它似乎没有选择 baseName 配置。
当我们不执行 uploadArchives 任务时,构建管道成功运行。此外,在 Spring Boot 升级之前,这不是问题。
有没有办法让 uploadArchives 任务查找生成的 jar 文件名?
解决方案
我最终通过添加一个 settings.gradle 文件并在其中定义一个根项目名称来解决这个问题
rootProject.name = "项目名称"
我认为spring Boot gradle插件的升级一定改变了项目的定义方式。
1.5.* 版本似乎从 Jar 任务中的 baseName 中获取项目名称,但较新的版本使用应用程序所在的文件夹名称。
那很有趣
推荐阅读
- linux - 如何在 linux OS 的 Hunspell 工具中为我自己的语言创建拼写检查器
- ios - 从 UILabel 文本掩码中获取 PDF
- node.js - 将耗时的任务委托给 Node.js 中的其他后台服务
- angular - 将数据显示为树角
- android - 如何使用 hashmap 迭代键值对并在 kotlin 的 recycleView 中显示?
- ios - 无法在 AppTests XCode 中加载模块“App”
- java - GitHub Actions:在 Windows 环境中缓存 Maven .m2 存储库 C\:\\Users\runneradmin\\.m2\repository:无法统计:没有这样的文件或目录
- sql-server - DAX 平均值不在日期期间
- ruby-on-rails - 带有 Devise_token_auth 和 Active Admin 的 Rails Api
- laravel - ZipArchive 的路径在哪里?