如何使用Gradle命令行更新Java项目属性

t3irkdon  于 2023-03-23  发布在  Java
关注(0)|答案(1)|浏览(126)

我正在做一个java项目,目前通过以下方式加载属性:

properties.load(ConfigProperty.class.getClassLoader().getResourceAsStream("project.properties"));

但有时我也需要从命令行运行并传递值来覆盖project.properties中的值。
我尝试过类似的方法(用户是属性中的键),但实际上不起作用。

gradle gatlingRun -Duser=1

应该怎样做才是正确的呢?
是不是properties.load限制它只能从文件中读取的方式?应该改变这一部分吗?

yi0zb3m4

yi0zb3m41#

这样就不能使用getResourceAsStream方法,也不能用示例中的系统属性覆盖。
目前还不清楚你的整体环境是什么,但像Quarkus这样的系统包括一个configuration subsystem来帮助你做到这一点。你可以使用系统属性,环境变量和文件。
对于较小的命令行类型的应用程序,我使用Apache Commons configuration,它也可以从不同的地方读取。它很简单,有非常大量的源代码。

相关问题