Amazon web services 如何使用.env文件为Springboot应用程序使用环境变量?
我正在尝试构建一个连接到DB的Springboot应用程序。我想使用包含敏感内容的Amazon web services 如何使用.env文件为Springboot应用程序使用环境变量?,amazon-web-services,spring-boot,aws-codepipeline,Amazon Web Services,Spring Boot,Aws Codepipeline,我正在尝试构建一个连接到DB的Springboot应用程序。我想使用包含敏感内容的.env文件。首先,我将端口更改为8081进行测试。 My.env文件包含以下内容 PORT=8081 server.port=${PORT} My application.properties具有以下内容 PORT=8081 server.port=${PORT} 我有一个无法解析端口的运行时错误,当我不知道如何将.env文件提供给属性时,这是意料之中的 有人能给我指出正确的方向吗 PS:我以端口为例,如
.env
文件。首先,我将端口更改为8081进行测试。
My.env文件包含以下内容
PORT=8081
server.port=${PORT}
My application.properties具有以下内容
PORT=8081
server.port=${PORT}
我有一个无法解析端口的运行时错误,当我不知道如何将.env文件提供给属性时,这是意料之中的
有人能给我指出正确的方向吗
PS:我以端口为例,如果成功,我还将使用.env文件设置DB凭据
更新:
我更喜欢使用.env
文件,因为当使用AWS CodePipeline部署应用程序时,我可以在CodeBuild阶段设置环境变量,在此阶段我将构建jar并最终构建docker映像。像这样的
EnvironmentVariables:
- Name: PORT
Value: "{resolve:secretsmanager:DBCredentials:SecretString:port}"
该错误是由java.lang.IllegalArgumentException引起的:无法解析值“${PORT}”中的占位符“PORT”我认为您有了react方法!但是在spring中,为了使用多个环境,最好按环境设置属性文件或yaml Ps:文件名必须像
application-{environment name}.properties那样命名,并且必须位于resources文件夹中
对于开发人员:
文件名:application-dev.properties
server.port=8089
server.port=8090
对于IT:
文件名:应用程序it.properties
server.port=8089
server.port=8090
在application.properties
文件中,我们通常在所有环境之间放置一些共享属性,我们可以添加属性:spring.profiles.active=dev
//您可以根据需要放置所需的内容。如果您有多个配置文件,可以通过“,
”将它们分开
有关更多详细信息,请检查能否在运行程序时显示错误列表?如果您使用的是GitHub,我假设您不会将凭据保存在那里。你会怎么处理?你说的是安全问题!有很多方法,你可以把一个加密的密码…,如果上面的解决方案解决了你的问题,标记它为解决了关闭问题