在maven构建时向Spring Boot application.yml文件添加属性

在maven构建时向Spring Boot application.yml文件添加属性,maven,spring-boot,netflix-eureka,spring-cloud-netflix,spring-boot-maven-plugin,Maven,Spring Boot,Netflix Eureka,Spring Cloud Netflix,Spring Boot Maven Plugin,我有一个用例,在这个用例中,我需要在maven构建时为每个spring引导配置文件向spring boot application.yml文件写入一些属性 输入(application.yml): 预期输出(maven构建后的application.yml): 请注意在预期输出中添加的行defaultZone:dummy-url-1、dummy-url-2。是否有任何maven插件可用于实现此目的?使用此插件 您应该安装并改用${property.key}使用@property.key@。像这样

我有一个用例,在这个用例中,我需要在maven构建时为每个spring引导配置文件向spring boot application.yml文件写入一些属性

输入(application.yml):

预期输出(maven构建后的application.yml):

请注意在预期输出中添加的行
defaultZone:dummy-url-1、dummy-url-2
。是否有任何maven插件可用于实现此目的?

使用此插件

您应该安装并改用
${property.key}
使用
@property.key@
。像这样:

us-west-2a: @eureka.environment@

您是否考虑过在您的环境(test、prod等)中定义路径变量,然后将其注入到属性文件中?例如:defaultZone:${DEFAULT_ZONE}实际上@Boris我想用像defaultZone:${SomeEnv}这样的占位符来添加行本身
defaultZone:dummy-url-1,dummy-url-2
或者更清楚地说,我想添加一行占位符,比如
defaultZone:@eureka.environment@
,我正在使用maven资源插件解析占位符,但在此之前,我需要添加一行
defaultZone:@eureka.environment@
,然后解析占位符。@Piyush Kumar,您可以尝试添加maven属性
dummy-url-1,dummy-url-2
,或者使用JVM参数
-Deureka.client.serviceUrl.defaultZone=dummy-url-1,dummy-url-2
。你可能需要。
spring:
  profiles: ED

eureka:
  client:
    enabled: true
    availabilityZones:
      us-west-2: us-west-2a,us-west-2b
    serviceUrl:
      defaultZone: dummy-url-1,dummy-url-2
      us-west-2a: http://regdiscovery:${eureka.environment}@memeboot-regdiscovery1-ed.aord.expertcity.com:8080/eureka/

---
spring:
  profiles: RC

eureka:
  client:
    enabled: true
    availabilityZones:
      us-west-2: us-west-2a,us-west-2b
    serviceUrl:
      defaultZone: dummy-url-1,dummy-url-2
      us-west-2a: http://regdiscovery:${eureka.environment}@memeboot-regdiscovery1-rc.aord.expertcity.com:8080/eureka/ 
us-west-2a: @eureka.environment@