Java Quarkus如何在application.properties中设置环境变量
最近,我从thorntail切换到quarkus,我在试图找到如何在application.properties中设置环境变量时遇到了一些困难。在thorntail中,我使用了类似这样的东西Java Quarkus如何在application.properties中设置环境变量,java,postgresql,environment-variables,application.properties,quarkus,Java,Postgresql,Environment Variables,Application.properties,Quarkus,最近,我从thorntail切换到quarkus,我在试图找到如何在application.properties中设置环境变量时遇到了一些困难。在thorntail中,我使用了类似这样的东西${env.HOST:localhost},基本上是指放置环境变量,如果找不到任何东西,请将localhost作为默认设置,quarkus application.properties是否可以这样做?我在GitHub上没有发现任何问题,也没有人回答了这个问题?在应用程序中。属性可以使用: somename=$
${env.HOST:localhost}
,基本上是指放置环境变量,如果找不到任何东西,请将localhost作为默认设置,quarkus application.properties是否可以这样做?我在GitHub上没有发现任何问题,也没有人回答了这个问题?在应用程序中。属性可以使用:
somename=${HOST:localhost}
它将正确展开HOST
环境变量,并在未设置HOST
的情况下使用localhost
作为默认值 或者,您不需要在application.properties中引用环境变量,只需在代码中引用变量即可:
@ConfigProperty(name = "my.property", defaultValue = "default value")
String myProperty;
并使用env变量指定它,如下所示:
export MY_PROPERTY="env var" && java -jar myapp.jar
或者使用命令行定义-D
java -Dmy.property="CL key" -jar myapp.jar
请参考《Quarkus配置指南》它确实适用于最新版本的Quarkus(我已经测试了>=1.1的版本)。在本例中,我们可以只使用-1吗quarkus.mailer.from=${SYSTEM\u EMAIL:-}quarkus.mailer.port=${EMAIL\u SERVER\u port:-1}``使用-
指定空字符串,默认int为-1
,我不确定是否理解您的问题。你能试着解释一下吗?我的意思是我用defaut值-
表示空字符串,用-1
表示int初始值。这是正确的用法吗?在Quarkus文档中找不到任何关于此的最佳实践。您也可以将Java字段设置为可选的
,而不必传递默认值