项目分为开发环境和生产环境,配有不同的yml,此时需要利用到maven的profiles分环境打包
项目配置文件路径:

pom文件中添加以下内容:
<profiles>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<!-- 这里的标签名会和resourse进行拼接 -->
<profiles.active>dev</profiles.active>
</properties>
<!-- 这里配置为默认选项 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 生产环境 -->
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
同时需要对resourse配置文件夹进行指定
<build>
<!-- 指定配置文件-->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 资源根目录排除各环境的配置,防止在生成目录中多余其它目录 -->
<filtering>true</filtering>
<excludes>
<exclude>build/dev/*</exclude>
<exclude>build/pro/*</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/build/${profiles.active}</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
添加完成后,会发现右侧maven栏下多了两个选项,这里打不同的勾,打包时会将不同的配置文件打包进去

如果此时项目已经打包,那么先clean,然后packge打包或者Install部署都可以,等待target包打包完成后,再用tomcat 或jrebel启动项目均可,新项目直接打包然后运行即可

注意:如果没有打包直接运行tomcat或jrebel那么yml将不会打进target中,启动时就会报找不到配置文件的错误,这个时候clean重新打包然后运行即可
运行tomcat或jrebel那么yml将不会打进target中,启动时就会报找不到配置文件的错误,这个时候clean重新打包然后运行即可

本文介绍了如何在Maven项目中利用profiles功能,针对开发和生产环境分别打包不同的YML配置文件,确保在不同环境中项目的正确运行。通过指定资源文件夹和激活profile,实现打包时自动包含对应环境的配置。
1024

被折叠的 条评论
为什么被折叠?



