我使用以下命令运行我的spring boot应用程序:
gradle -Dekiras="ekiras.com" bootRun
在Spring Boot应用程序中,我有bootstrap类
@Component
public class Bootstrap implements InitializingBean{
@Autowired private Environment environment;
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("###################"+System.getProperty("ekiras"));
}}
我得到的输出为:
##########################null
我在这里想念什么吗?
最佳答案
这条路:
gradle -Dekiras="ekiras.com" bootRun
您将
ekiras
属性传递给gradle脚本本身。您可以使用以下方法进行验证:println System.properties['ekiras']
在构建脚本中。
要将属性传递给应用程序,您需要以下构造:
bootRun {
jvmArgs = ['-Dekiras="ekiras.com"']
}
不需要双引号
"
。当然,您可以将属性传递给gradle脚本,然后使用在gradle中读取的属性来配置bootRun
块。关于spring - 在Spring Boot中无法获取系统变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32714762/