当前位置: 首页 > 知识库问答 >
问题:

启动Micronaut应用程序时如何打印环境变量

颜鸿云
2023-03-14

我正在从事一个Micronaut项目,我想看看环境变量是否来自应用程序。当应用程序在本地启动时,使用@Value注释正确分配yml。但每次应用程序启动时,它都会向我显示变量没有从应用程序分配给环境变量。yml文件。

这是我的代码:

public class Application {

    private static String localTestString = "I am the local String";

    @Value("${aws.secretkeyid}")
    public static String applicationYmlTestString;

    @Value("${aws.keyid}")
    private static int keyId;

    public static void main(String[] args) {
        Micronaut.run(Application.class);
    }

    static{
        log.warn("Local Test String is: " + localTestString);
        log.warn("Application Yml Test String is: " + applicationYmlTestString);
        log.warn("Key ID: " + keyId);
    }

}

这是我的application.yml

aws:
  keyid: 123
  secretkeyid: "abcdesdasdsddddd"
  region: "europe-1"

输出:

Local Test String is: I am the local String
Application Yml Test String is: null
Key ID: 0

正如我们看到的,两个变量应用YmlTestString和keyId没有被分配给环境变量。有没有办法解决这个问题,并获得:

Application Yml Test String is: abcdesdasdsddddd
Key ID: 123

提前谢谢你!

暂时还没有答案

 类似资料:
  • 是否可以在 Websphere 中的应用程序级别设置环境变量? WebSphere服务器可以托管多个应用程序。应用于服务端的任何环境变量都适用于该服务器上的所有应用程序。是否可以创建仅适用于单个应用程序的变量? 例如:假设我们有一个SpreadsheetApp和一个DocsApp在同一台服务器上运行。它们共享一些共同的代码,可以通过一个名为DocStorageLocal的环境变量进行配置。有没有可

  • 问题内容: 我尝试使用范围类型APPLICATION和带有@ Create,@ Beg的方法来注释类,但这似乎不起作用。 我想要的是在应用程序启动时立即启动无限循环。 问题答案: 如果希望在初始化后立即执行方法,则可以使用以下注释:

  • 我正在设置micronaut应用程序,但部署失败,出现以下异常: 我们有3个环境:开发,测试和生产。它在开发和测试中工作,但不在生产中。我们验证了环境变量和jdk版本。我们在云环境中,相同的映像正在部署在开发、测试和生产中。 NA

  • 我有一个小的Flask应用程序,它使用python dotenv库加载我存储在名为的文件中的环境变量。一切都很好,但我最近意识到我实际上从未调用方法,所以我不确定它是如何工作的。出于好奇,我试着绕过它: 我甚至删除了导入()-仍然有效 我重命名了<代码>。env到-不工作 我用

  • 问题内容: 我有一个Java应用程序。 该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。 目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。 但是,我想知道是否有更好的方法来处理此行为。 编辑 是的,它是Windows。抱歉,之前没有清除该内容。 该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。 @Peter,如何在

  • 我必须使用java应用程序打印PDF文件。我尝试过这样的方法: 当我在假打印机上测试时(我使用PDFCreator作为打印机),一切正常,但当我尝试在物理打印机上打印时,什么都没有发生。 然后我用了PDFBox。文件是打印出来的,但文字之间有奇怪的点,在不应该的地方。 那么,也许有人有从java应用程序打印PDF的经验,可以分享这些信息?