在项目开发时,我们本地搭建的开发dev环境,开发完成打包部署到服务器时,用到的是服务器prod环境。可以借用Maven的profiles
、filters
和resources
,在运行或打包时指定选用的环境,实现不同环境自动使用各自环境的配置文件或配置信息。
maven profile
可使用操作系统信息,jdk信息,文件是否存在,属性值等作为依据,来激活相应的profile,也可在编译阶段,通过mvn命令加参数 -P profileId
来手工激活使用对应的profile。
Maven的标准目录结构
src
-main
–bin 脚本库
–java java 源代码文件
–resources 资源库,会自动复制到classes目录里
–filters 资源过滤文件
–assembly 组件的描述配置(如何打包)
–config 配置文件
–webapp web应用的目录。WEB-INF、css、js等
-test
–java 单元测试java源代码文件
–resources 测试需要用的资源库
–filters 测试资源过滤库
-site Site (一些文档)
target 存放项目构建后的文件和目录,jar包、war包、编译的class文件等
LICENSE.txt
README.txt
filters
目录存放资源过滤文件,
- 我们可以在 main 目录下新建 filters 目录
- 在 filters 目录下新建各个环境配置文件夹(这一步是必要的)
- 在其中放入各个环境的配置文件
项目目录
POM配置
<project>
...
<!-- 定义项目环境 -->
<profiles>
<profile>
<!-- profile id -->