在使用maven做为构建工具的开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,是个很麻烦的事情。
因此我们使用maven来实现多环境的构建可移植性,需要借助maven提供的profile功能,通过不同的环境激活不同的profile来达到构建的可移植性。
打开pom.xml,配置profile
<profiles>
<profile>
<!-- 本地开发环境 -->
<id>develop</id>
<properties>
<profiles.active>develop</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>production</id>
<properties>
<profiles.active>production</profiles.active>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 资源根目录排除各环境的配置,使用单独的资源目录来指定 -->
<excludes>
<exclude>config-develop/*</exclude>
<exclude>config-production/*</exclude>
</excludes>
</resource>
<resource>
<!-- 根据参数指定资源目录 -->
<directory>src/main/resources/config-${profiles.active}</directory>
<!-- 指定编译后的目录即生成文件位置(默认为WEB-INF/class) -->
<targetPath>config</targetPath>
</resource>
</resources>
</build>
eclipse maven 打包