痛点:
在java开发的过程中,我们经常要面对各种各样的环境,比如开发环境,测试环境,正式环境,而这些环境对项目的需求也不相同。
在此之前,我们往往需要手动去修改相对应的配置文件然后打成war,才能部署到相应的环境上。
但是这样很容易出现问题,因为很容易出现少改或者漏改,造成不必要的麻烦
幻想:
要是有一种东西,能让我们打war的时候指定一个参数,就能自动把项目编译成对应环境的war,那该有多幸福啊!!!
**结果:**这样的东西还真有,那就是maven-profile
更多环境分离的内容:查看这篇博客maven profile多环境自动切换配置,配置分离,排除文件
<profiles>
<!--本地开发环境-->
<profile>
<id>dev</id>
<properties>
<db.url>jdbc:h2:~/community</db.url>
<db.user>sa</db.user>
<db.password>123</db.password>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--线上环境-->
<profile>
<id>production</id>
<properties>
<db.url>jdbc:mysql://39.101:3306/community_db</db.url>
<db.user>root</db.user>
<db.password>Alidsads</db.password>
</properties>
</profile>
</profiles>
引用:
<configuration>
<url>${db.url}</url>
<user>${db.user}</user>
<password>${db.password}</password>
</configuration>
执行命令通过脚本生成数据库: -Pdev是默认的配置可以不写
mvn flyway:migrate -Pdev
如果中途执行出错,修改错误后,使用命令 mvn flyway:repair 修复脚本,方可继续执行
将生产环境的数据库配置,放在pom文件中是不安全的,所以得想放在
使用 maven profile 官方网址:http://maven.apache.org/guides/introduction/introduction-to-profiles.html
路径对应线上 ~/.m2/settings.xml
vim ~/.m2/settings.xml
配置约束参考官网http://maven.apache.org/ref/3.6.3/maven-settings/settings.html
git add -p逐行检查提交
y就是同意 n就是不同意