[关闭]
@xiaoxiaowang 2017-06-24T03:25:59.000000Z 字数 1578 阅读 1313

Maven系列(八)assembly打包-程序和依赖jar包分开化+多环境

IT


前言

上一篇介绍的是“assembly打包-程序和依赖jar包分开化”的配置方法, 这一篇就来介绍下如何多环境的配置,这里请看清楚,是“程序和依赖jar包分开化+多环境”跟之前的不太一样哦。

需要修改的配置

项目的目录结构
工程结构.png

pom

添加profile配置,我这里同样配置了三种环境

  1. <profiles>
  2. <profile>
  3. <id>local</id>
  4. <properties>
  5. <env>local</env>
  6. </properties>
  7. <!-- 如果不指定ID,默认是本地环境-->
  8. <activation>
  9. <activeByDefault>true</activeByDefault>
  10. </activation>
  11. </profile>
  12. <profile>
  13. <id>test</id>
  14. <properties>
  15. <env>test</env>
  16. </properties>
  17. </profile>
  18. <profile>
  19. <id>product</id>
  20. <properties>
  21. <env>product</env>
  22. </properties>
  23. </profile>
  24. </profiles>

package.xml

新增了两处

  1. <fileSets>
  2. <!--需要包含的文件与输出的路径-->
  3. <fileSet>
  4. <directory>src/main/bin</directory>
  5. <outputDirectory>bin/</outputDirectory>
  6. </fileSet>
  7. <fileSet>
  8. <directory>src/main/resources</directory>
  9. <outputDirectory>/</outputDirectory>
  10. <!-- 去除需要多环境配置的文件-->
  11. <excludes>
  12. <exclude>application.properties</exclude>
  13. </excludes>
  14. </fileSet>
  15. <!--多环境配置-->
  16. <fileSet>
  17. <!--${env} 可以获取打包命令里的参数-->
  18. <directory>src/main/resources/env/${env}/</directory>
  19. <outputDirectory>/</outputDirectory>
  20. </fileSet>
  21. <fileSet>
  22. <directory>${project.build.directory}</directory>
  23. <outputDirectory>/</outputDirectory>
  24. <includes>
  25. <include>*.jar</include>
  26. </includes>
  27. </fileSet>
  28. </fileSets>

多环境打包测试

环境 命令
本地 mvn clean package -P local
测试 mvn clean package -P test
生产 mvn clean package -P product

后记

欢迎浏览我的博客

代码在Github

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注