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

Spring Boot未将系统环境变量加载到application.properties中

葛海阳
2023-03-14

我在我的机器上导出了一些简单的数据库CRED作为ENV变量。

export MYSQL_USER=root
export MYSQL_PASS=pass

我试图将这些动态加载到spring boot的配置文件中,但没有成功。我开始相信这是因为应用程序在TomCat容器中运行,因此与机器环境变量隔离。

spring.datasource.username = ${MYSQL_USER}

但是,它仍然被视为${MYSQL_USER}的纯文本。Spring Boot是否具有读取系统环境变量的能力?

共有1个答案

祁永嘉
2023-03-14

我在使用$符号将OS环境变量输入应用程序.properties/yml时也遇到了同样的问题。为了解决这个问题,我定义了application server(Tomcat/JBoss等)的变量。那么只有application.properties/yml可以获得它们。希望这能有所帮助。

 类似资料:
  • 问:比如,我把 a.exe 用nsis包装好,安装到 c:\helloLib\a.exe,完成后,想把c:\helloLib\添加到系统环境变量的path里头,这样,在任何地方输入a.exe可执行。如何将路径添加到系统环境变量中? 答:以下代码实现: ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Envir

  • 问题内容: Java是否具有默认的“系统环境变量”,当我们设置它时将始终读取/附加它?/ etc似乎仅适用于TOMCAT / JBOSS等。 我不想通过Java系统属性(通过-Dprop1 = value1 -Dprop2 = value2传递)来设置它,因为它涉及shell / batch脚本。 它应可跨操作系统使用,例如Windows中的双击jar文件。 它应该可以在不同的JRE(Sun,IB

  • 这是我的next.config.js文件:

  • 问题内容: 我在 根文件夹 文件中有.env 文件 并将文件放在文件夹中。文件的第一行是 我还尝试了以下操作: ; ; 但是,当我从 命令提示符* 运行文件时,不会加载我的env变量 * 如果我使用 Visual Studio 并按 F5 ,它将加载! 我不确定我在做什么错,我想念什么。任何建议都非常感谢。谢谢。 问题答案: 使用如何? 您的问题似乎是执行路径。

  • 问题内容: JVM中的系统属性System.getProperties()和环境变量System.getenv()有什么区别? 问题答案: 我认为两者之间的区别归结为访问。系统环境变量可以由任何进程访问,而Java系统属性只能由添加到它们的进程访问。 另外,正如Bohemian所说,env变量是在OS中设置的(但是可以通过Java设置),而系统属性则作为命令行选项传递或通过设置setPropert

  • 本文向大家介绍linux CentOS 系统下如何将php和mysql命令加入到环境变量中,包括了linux CentOS 系统下如何将php和mysql命令加入到环境变量中的使用技巧和注意事项,需要的朋友参考一下 linux CentOS 系统下如何将php和mysql命令加入到环境变量中 在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到