Spring Boot:使用 yaml 中配置的 Maven 属性

     2023-02-26     246

关键词:

【中文标题】Spring Boot:使用 yaml 中配置的 Maven 属性【英文标题】:Spring Boot: use of Maven properties configured in yaml 【发布时间】:2017-11-07 12:31:05 【问题描述】:

我正在尝试从 Maven 中提取一些属性并在我的应用程序启动时打印它们。我正在使用 Spring Boot,因此资源过滤会自动为我完成。

在我的 application.yml 我有以下内容

  applicationName: "@project.artifactId@"
  buildVersion: "@project.version@"
  buildTimestamp: "@maven.build.timestamp@"

当我在 IntelliJ 上运行它时,我得到了想要的结果,我的属性按预期填充和打印 (单引号的结果相同) 删除引号会给我一个 SnakeYaml 关于使用“@”字符的例外情况

当我在 Cent-OS 上运行它时,通过 jar (java -jar blah..blah) 属性没有被解析,而是被视为字符串,而不是正确的版本号等,打印的是什么是上面引号内的字符串。

关于如何解决这个问题的任何想法? 和我运行jar的方式有关吗?

我以this为例

【问题讨论】:

这有点奇怪......最近我测试了这个并且工作正常,也许这取决于spring-boot版本......你使用的是什么版本? 我正在使用 1.5.1 。我最终使用 Spring 的属性格式而不是 Yaml 添加了一个额外的属性文件 【参考方案1】:

您可以使用getClass().getPackage().getImplementationVersion() 等方式以编程方式获取它们。

【讨论】:

问题是关于 Maven 属性而不是类包信息(这是在专用的 package-info.class 中声明所必需的)【参考方案2】:
@Value("$applicationName")
private String applicationName;

【讨论】:

如何使用 spring boot + .yaml 创建配置文件?

】如何使用springboot+.yaml创建配置文件?【英文标题】:HowcanIcreateprofileswithspringboot+.yaml?【发布时间】:2019-03-0816:23:45【问题描述】:我有带有2个属性文件的SpringBoot服务器:application-local.properties和application-test.properties在每个文... 查看详情

如何使用 spring boot + .yaml 创建配置文件?

】如何使用springboot+.yaml创建配置文件?【英文标题】:HowcanIcreateprofileswithspringboot+.yaml?【发布时间】:2019-03-0816:23:45【问题描述】:我有带有2个属性文件的SpringBoot服务器:application-local.properties和application-test.properties在每个文... 查看详情

Spring Boot Mongodb .yaml 配置

】SpringBootMongodb.yaml配置【英文标题】:SpringbootMongoDB.ymlconfiguration【发布时间】:2019-10-1517:24:21【问题描述】:当我使用MySQL和hibernate进行SpringBoot时,我在.yml文件中使用以下配置spring:datasource:url:jdbc:mysql://localhost/userName?zeroDateTime... 查看详情

使用 Gradle 管理 Spring Boot 配置文件

】使用Gradle管理SpringBoot配置文件【英文标题】:ManageSpringBootProfileswithGradle【发布时间】:2021-05-0900:57:46【问题描述】:我有一个由Gradle管理的SpringBoot应用程序。到目前为止做了什么:已创建application.yaml、application-dev.yaml和applic... 查看详情

Spring Boot 使用 Yaml 而不是属性文件

】SpringBoot使用Yaml而不是属性文件【英文标题】:SpringBootusingYamlinsteadofpropertiesfile【发布时间】:2017-01-2107:08:06【问题描述】:我使用SpringBoot。我想使用YAML而不是属性来编写我的配置。由于我使用spring-boot-starter,SnakeYAML库已经... 查看详情

Spring Boot 无法从配置文件特定的 yaml 文件中读取

】SpringBoot无法从配置文件特定的yaml文件中读取【英文标题】:Springbootunabletoreadfromprofilespecificyamlfile【发布时间】:2018-03-0506:15:34【问题描述】:我在玩springboot并试图创建一个配置文件特定的配置文件。我叫它application-local.yml... 查看详情

spring boot 配置多个yaml文件并根据env参数加载

】springboot配置多个yaml文件并根据env参数加载【英文标题】:springbootconfiguringmutipleyamlfilesandloadthembasedonenvparam【发布时间】:2021-06-0306:21:45【问题描述】:我必须调整一个springboot应用程序,该应用程序具有配置应用程序属性的app... 查看详情

带有密钥 URL 的 Spring Boot YAML 配置不再使用版本 2 正确加载

】带有密钥URL的SpringBootYAML配置不再使用版本2正确加载【英文标题】:SpringBootYAMLconfigurationwithURLinkeynolongerloadscorrectlywithversion2【发布时间】:2018-11-2708:43:33【问题描述】:我正在将我的应用程序从SpringBoot1.5迁移到2.0,并且YAML属... 查看详情

基于spring boot读取配置yaml hashmap

】基于springboot读取配置yamlhashmap【英文标题】:Springbootreadingconfigurationyamlhashmapbased【发布时间】:2020-05-3118:54:56【问题描述】:是否可以在SpringBoot中使用@configurationproperties读取yaml文件?app:X1:key1:value1key2:value2X2:key1:value3key2:value4... 查看详情

如何在 Spring Boot Yaml 中激活 Profile

】如何在SpringBootYaml中激活Profile【英文标题】:HowtoactivateProfileinSpringBootYaml【发布时间】:2021-10-1521:51:05【问题描述】:我的Springboot(2.4.5)应用程序的以下应用程序yaml有两个配置文件。弹簧:个人资料:开发人员弹簧:个人资料... 查看详情

Spring Boot MockMVC 测试不加载 Yaml 文件

】SpringBootMockMVC测试不加载Yaml文件【英文标题】:SpringBootMockMVCTestdoesnotloadYamlfile【发布时间】:2015-11-0607:52:49【问题描述】:我的配置位于类路径根目录(src/main/resources/)的application.yml文件中。当我正常启动应用程序时,配置加... 查看详情

Spring Boot - 加载多个 YAML 文件

】SpringBoot-加载多个YAML文件【英文标题】:SpringBoot-LoadmultipleYAMLfiles【发布时间】:2016-10-2419:02:45【问题描述】:我正在为我的项目使用Springboot,并尝试加载yaml文件,以便我可以使用项目中文件中的数据。例如,我的application.ym... 查看详情

Spring Boot YAML 配置和列表

】SpringBootYAML配置和列表【英文标题】:SpringBootYAMLconfigandlist【发布时间】:2016-01-1715:17:23【问题描述】:我必须在SpringBoot的YAML配置文件中集成一个列表,但不知道如何继续。我已经看到了其他相关的问题:SpringBootyamlconfiguratio... 查看详情

将 Yaml 中的列表映射到 Spring Boot 中的对象列表

】将Yaml中的列表映射到SpringBoot中的对象列表【英文标题】:MappinglistinYamltolistofobjectsinSpringBoot【发布时间】:2015-12-1202:52:59【问题描述】:在我的SpringBoot应用程序中,我有application.yaml配置文件,其中包含以下内容。我想将其作... 查看详情

忽略在 yaml 配置中为 Spring Boot 管理应用程序指定斜杠字符

】忽略在yaml配置中为SpringBoot管理应用程序指定斜杠字符【英文标题】:Ignorespecifyslashcharacterinyamlconfigforspringbootadminapplication【发布时间】:2021-03-2811:01:23【问题描述】:我想在我的SpringBoot管理应用程序中为kubernetes发现配置服务... 查看详情

yaml的简单说明与使用

...aml作为属性配置文件,需要将SnakeYAML库添加到classpath下,SpringBoot对SnakeYAML库也做了集成,例如使用spring-boot-starter-web或spring-boot-starter都会自动添加SnakeYAML库到classpath下。一个注意的点,假如application.properties与application.yaml两份文... 查看详情

将 YAML 列表映射到 Spring Boot 中的对象列表

】将YAML列表映射到SpringBoot中的对象列表【英文标题】:MappingYAMLListtoListofObjectsinSpringBoot【发布时间】:2016-07-1322:18:32【问题描述】:我有一个类似于MappinglistinYamltolistofobjectsinSpringBoot中描述的问题,除了我想将我的对象中至少... 查看详情

Spring Boot - 从 YAML 文件中注入地图

】SpringBoot-从YAML文件中注入地图【英文标题】:SpringBoot-InjectingamapfromaYAMLfile【发布时间】:2018-09-2508:49:36【问题描述】:我尝试了几个版本,但都没有工作。将其作为地图注入的正确方法是什么:application.ymlalias:name:titledesc:descr... 查看详情