创建两个环境的配置文件:开发和生产。
内容不一样,比如数据库的用户名密码不一样。
找到运行配置
找到profile配置项(profile就是环境的意思),值为dev。因为idea是开发环境嘛,所以直接填写dev即可。
到这里其实就已经配置完成了,启动即可找到对应环境的配置文件。而且启动日志也会打印是哪个环境。
java 代码解读复制代码2023-08-20 23:50:42.662 INFO 40992 --- [ main] com.itranswarp.Application : The following 1 profile is active: "dev"
开发环境ok之后,我们现在要打包发布到生产环境,这个时候怎么办?
基于maven的命令的参数-Pprod。
java 代码解读复制代码clean package -DskipTests -Pprod
-P参数就是profile参数,即打包的时候使用哪个环境的配置文件。
除了maven命令需要添加入参,pom文件还需要配置入参。说白了,就是二者结合才能生效。
1、多环境配置文件的文件名字都是按固定格式来,因为约定大于配置。
2、正因为约定大于配置,所以不管是idea,还是maven打包命令,配置环境参数之后,就会自动找到对应环境的配置文件。
如果有公共配置,也可以放在application.yml文件。所谓公共配置,就是不同环境的公共配置项和值都一样,那么就可以放在公共配置文件,说白了,就是只在一个地方维护。
启动项目之后,如果控制台出现看不到日志的情况,但是项目是启动成功并且可以正常访问,那么有可能是日志配置文件里的profile配置的不对。
比如,检查logback-spring.xml里的profile配置是否正确。因为有可能写到其他地方去了。
xml 代码解读复制代码<springProfile name="native">
<root level="INFO">
<appender-ref ref="CONSOLE" /> <!-- native配置即本地配置,就写日志到控制台 -->
</root>
</springProfile>
<springProfile name="!native">
<root level="INFO">
<!-- <appender-ref ref="APP_LOG" />--> <!-- 非native配置,就写日志到文件 -->
<appender-ref ref="CONSOLE" />
</root>
</springProfile>
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。