无法将命令行中的值分配给application.properties文件中的属性

时间:2019-06-06 13:38:50

标签: java maven spring-boot

我的spring-boot项目中具有以下设置 application.properties

file_path=${lookup_path}
lookup-file.file_1=${file_path}/file1.lku
lookup-file.file_2=${file_path}/file2.lku

和相应的配置类LookupFileConfiguration,以及使用此配置的处理程序类:

@Component
@ConfigurationProperties("lookup-file")
public class LookupFileConfiguration {
    private String file_1;
    private String file_2;
    // getter and setter methods skipped here
}
@Component
public class MyHandler {
    @Autowired
    private LookupFileConfiguration files;
}

我试图从命令行运行:

mvn test -Drun.arguments=--lookup_path=C:\\my-proj\target\test-classes\lookupFiles\\

但是它不起作用。 lookup_path中似乎没有使用application.properties

如果我在application.properties文件中进行硬编码

file_path=C:\\my-proj\target\test-classes\lookupFiles\\

它工作正常。

我知道我可以在不同的环境中使用配置文件。但是,我的项目将在Bamboo计划中运行测试用例。因此,我只能使用竹子变量${bamboo_build_working_directory},而不能预测要测试的目录。请为这种情况提供适当的解决方案/建议。

0 个答案:

没有答案