【发布时间】:2017-09-14 02:10:53
【问题描述】:
我正在将 Spring Boot 从 1.3 升级到 1.5。为了升级到 1.5,我已经更换了
@SpringApplicationConfiguration(classes = TestConfig.class)
@WebIntegrationTest
与
@SpringBootTest(classes = TestConfig.class)
另外,我正在使用
@Value("${local.server.port}")
protected int port;
获取application.properties 文件中定义的端口号。我进一步使用这个端口号来构建一个 REST URL。
但升级后我收到以下错误,而 1.3 Spring Boot Test 也可以正常工作。
原因:java.lang.IllegalArgumentException:无法解析值“${local.server.port}”中的占位符“local.server.port” 在 org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)
我是否遗漏了为此工作需要做的任何更改。
【问题讨论】:
-
我尝试使用
Environment获取端口,但它返回-1 -
@MeenaChaudhary 你能发布 application.properties 即你在哪里指定这个属性?
-
正如从 1.3 到 1.4 的迁移指南(您已跳过)中所述,在您的字段中使用
@LocalServerPort而不是@Value。
标签: java spring spring-boot spring-boot-test