如何在 Micronaut application.yml 中使用 .env 中的变量?

Ign*_*tia 6 micronaut

我对 Micronaut 很陌生,我只是想问一下,因为我无法从官方文档中得到任何答案

我的文件夹根目录下有一个 .env 文件。这是我的 .env

PORT=8081
Run Code Online (Sandbox Code Playgroud)

我尝试访问 application.yml 上的 PORT 变量,但它没有从 .env 文件中读取该变量。这是我的 application.yml

micronaut:
    application:
        name: test-app
    server:
        port:${PORT}
Run Code Online (Sandbox Code Playgroud)

Gla*_*ats 3

.env如果你想使用它,你需要告诉 micronaut 使用文件。
通常 micronaut 使用application.yml,因此您可以通过以下方式配置您的应用程序:

Micronaut 从操作系统读取环境变量。我们的application.yml看起来像这样:

micronaut:
    application:
        name: test-app
    server:
        port:${PORT:8000} # :8000 is a default value.
Run Code Online (Sandbox Code Playgroud)

现在,例如在没有环境变量的 Linux 上启动:

$ ./mvnw mn:run # start micronaut 
[main] INFO  io.micronaut.runtime.Micronaut - Startup completed in 1102ms. Server Running: http://localhost:8000
Run Code Online (Sandbox Code Playgroud)

从环境变量开始:

$ export PORT=8080
$ ./mvnw mn:run # start micronaut 
[main] INFO  io.micronaut.runtime.Micronaut - Startup completed in 1102ms. Server Running: http://localhost:8080
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它将从您的操作系统路径中获取变量。