Spring Boot应用程序无法识别我通过Maven Spring Boot插件设置的系统变量。
<profile>
<id>local</id>
<build>
<testResources>
<testResource>
<filtering>true</filtering>
<directory>src/test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<my.prop.one>2017-06-01</my.prop.one>
<my.prop.two>2017-06-31</my.prop.two>
<my.prop.three>1000</my.prop.three>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
我正在config类中以这种方式在Java中访问它
@Value("${my.prop.one}")
private String one;
@Value("${my.prop.two}")
private String two;
@Value("${my.prop.three}")
private String one;
当我运行mvn -Plocal spring-boot时:运行spring boot应用程序失败,同时在config类中创建bean并出现以下错误
Could not resolve placeholder 'my.prop.one' in value "${my.prop.one}"
-> [Help 1]
由于某种原因,我的Spring Boot应用程序无法读取Spring Boot Maven插件设置的系统变量。 编辑: 问题可能是重复的,但是发生在我身上的是我的父Bom拥有2.0.3版本的插件,因为我正在阅读最新的插件版本文档,因此语法发生了变化。我在pom中明确提到了2.1.1.RELEASE版本,并解决了该问题。