我在Qurkus面临着一个菜鸟挑战(我在Java方面也是新手,如果我遇到了一个愚蠢的情况,很抱歉)。我使用".env“文件作为本地开发变量,并在"application.properties”中设置(非机密)生产变量。
一切都很好,但现在我正在尝试设置一个测试套件,来自".env“的变量将覆盖"application.properties”中的变量(即使是带有"% test“配置文件的变量),并阻止我同时拥有开发和测试环境。
对我来说,这可以通过为不同的%配置文件(如".env.testing“)创建一个单独的(源代码管理索引)环境文件,并以某种方式将其分配给测试运行器来完成。这种模式在其他语言的测试框架中很常见,但我找不到解决方案。
有什么想法吗?
谢谢
发布于 2020-08-21 18:37:31
事实证明,Quarkus支持使用不同格式的.env中的配置文件(但文档中没有提到)。所以我们可以像这样简单地保存我们的application.properties文件:
app.env=production.env文件如下所示:
_DEV_APP_ENV=development
_TEST_APP_ENV=testing可以在this PR中找到更详细的文档。
发布于 2020-08-18 22:33:16
一种简单的方法是在application.properties文件中使用属性表达式。
例如,要设置application.host,可以在application.properties文件中使用类似application.host=${HOST:localhost}的属性表达式。如果在.env文件或application.properties文件中定义了一个名为HOST的属性,则将其值赋给application.host,否则将赋给缺省值(本例中为localhost)。
https://stackoverflow.com/questions/63470099
复制相似问题