为了账号安全,请及时绑定邮箱和手机立即绑定

Spring STS 不加载环境变量但运行 maven 工作

Spring STS 不加载环境变量但运行 maven 工作

哔哔one 2023-02-23 15:44:03
我正在使用 Mac OS Mojave 和 Spring STS 版本 3.9.7。所以我试图将一些环境变量(例如数据库用户名和密码)加载到我的 application.properties 文件中,但 Spring 无法将它们加载到。我使用此命令设置用户名环境变量:export ABC_DB_UNAME=some_username当我执行echo $ABC_DB_UNAME或printenv时,我可以看到该值。在我的 application.properties 文件中,我将用户名设置如下:spring.datasource.username=${ABC_DB_UNAME}现在,当从 IDE 本身运行我的 spring sts 时,它无法获取值并抛出一个异常ABC_DB_UNAME@database_endpoint 的访问被拒绝。它清楚地表明 spring sts 没有获取我的环境变量。对我来说更麻烦的是,当我使用以下命令通过 maven 运行 spring 应用程序时,它会获取环境变量并且工作正常。mvn spring-boot:run但是使用 mvn 命令我不知道如何让 IDE 触发断点以便我也进行调试。编辑:测试并尝试使用代码 System.getenv("ABC_DB_UNAME") 和 System.getProperty("ABC_DB_UNAME") 打印环境变量也返回 null 但 Maven 仍然有效。
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我认为环境变量是在终端中临时设置的。因此,mvn spring-boot:run作品。你可以在不同的终端运行它,它应该会失败

您需要在 bashrc (mac) 中设置 ${ABC_DB_UNAME} 以永久保留它。或者您可以在运行应用程序期间将环境变量作为参数传递。


查看完整回答
反对 回复 2023-02-23
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号