我有application.properties
变量用于设置默认值:
openvasmd.socket=/usr/local/var/run/openvasmd.sock
我希望能够在应用程序运行时更改它,
java -jar -Dopenvasmd.socket=/var/run/openvasmd.sock application.jar
但是,当我想通过以下方式使用它的值时:
@Value("${openvasmd.socket}")
private String socket;
public String test() {
return "gvm-cli --socketpath "+socket;
}
结果是:
gvm-cli null
有人能给我一个提示我在哪里做错吗?
答案 0 :(得分:1)
来自https://www.baeldung.com/properties-with-spring
命令行参数的属性
与使用文件相反,可以直接在命令行上传递属性:
java -jar app.jar --property="value"
您还可以通过系统属性来执行此操作,该系统属性在-jar命令之前而不是在其后提供:
java -Dproperty.name="value" -jar app.jar