Maven 多环境部署
程序员文章站
2024-01-11 22:16:17
...
- 1、建立三种环境的资源文件夹
tips:maven标准目录中,提供了一个filters目录用于存放资源过滤文件。推荐在filters目录下创建,而不是resources目录,因为resources目录中的文件默认情况下是不会被过滤的,还需在resources节点下额外的配置一些东西;这样的话结构也较清晰,resource目录存放公共资源文件,filters目录存放不同环境差异化资源文件。
- 2、多环境部署的实现:
1 在pom.xml中的project节点下配置profile
2 在pom.xml中的build节点下配置maven-resources-plugin插件
在构建WAR包的时候会经过资源文件处理阶段,maven-resources-plugin 则用来处理资源文件。
3 在pom.xml中的build节点下配置resources节点
4 测试,现在配置已经完成了,然后我们执行maven update项目之后,资源目录会变化
接下来打包测试一下是否达到了我们的预期效果:mvn clean package -P test
<profiles>
<!-- 开发 -->
<profile>
<!-- profile的id -->
<id>dev</id>
<properties>
<!-- 此处的env可以自定义,其他地方可以使用${env}来引用此属性 -->
<env>devResoure</env>
</properties>
</profile>
<!-- 测试 -->
<profile>
<id>test</id>
<properties>
<env>testResoure</env>
</properties>
</profile>
<!-- 生产 -->
<profile>
<id>prd</id>
<properties>
<env>prdResoure</env>
</properties>
</profile>
</profiles>
<build>
<plugins>
资源文件处理插件,必须配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
最后生成的资源文件
<resources>
所有公共资源文件
<resource>
<directory>src/main/resources</directory>
</resource>
不同环境的资源文件
<resource>
<directory>src/main/filters/${env}</directory>
</resource>
</resources>
</build>