无法在Spring Boot中获取系统变量

时间:2015-09-22 10:40:49

标签: spring gradle spring-boot

我使用以下命令运行我的spring启动应用程序:

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
我在这里错过了一些东西。

1 个答案:

答案 0 :(得分:0)

这样:

gradle -Dekiras="ekiras.com" bootRun

您将ekiras属性传递给gradle脚本本身。您可以使用以下方式验证它:

println System.properties['ekiras']

在构建脚本中。

要将属性传递给应用程序,您需要以下构造:

bootRun {
  jvmArgs = ['-Dekiras="ekiras.com"']
}

双引号"不是必需的。当然,您可以将属性传递给gradle脚本,然后使用gradle中的属性配置bootRun块。