我使用以下命令运行我的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/

10-11 07:13