现在将SpringMVC中Maven环境隔离实践总结如下:

1. 在pom中配置

  1. <resources>
  2. <resource>
  3. <directory>src/main/resources.${deploy.type}</directory>
  4. <excludes>
  5. <exclude>*.jsp</exclude>
  6. </excludes>
  7. </resource>
  8. <resource>
  9. <directory>src/main/resources</directory>
  10. </resource>
  11. </resources>

  

  1. <profiles>
  2. <profile>
  3. <id>dev</id>
  4. <activation>
  5. <activeByDefault>true</activeByDefault>
  6. </activation>
  7. <properties>
  8. <deploy.type>dev</deploy.type>
  9. </properties>
  10. </profile>
  11. <profile>
  12. <id>beta</id>
  13. <properties>
  14. <deploy.type>beta</deploy.type>
  15. </properties>
  16. </profile>
  17. <profile>
  18. <id>prod</id>
  19. <properties>
  20. <deploy.type>prod</deploy.type>
  21. </properties>
  22. </profile>
  23. </profiles>

  

2. 创建resources.beta, resources.dev, resources.prod 文件夹,

将文件夹标记为Resources Root

3. 打包命令

mvn clean package -Dmaven.test.skip=true -Pbeta

beta代码使用beta文件下的配置

第三步遇到的问题

1)编码GBK的不可映射字符

解决方法:

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. </properties>

 参考:https://blog.csdn.net/EvelynHouseba/article/details/16114353 

2) 程序包***不存在,找不到符号

pom文件中配置插件maven-compiler-plugin

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-compiler-plugin</artifactId>
  4. <version>3.1</version>
  5. <configuration>
  6. <source>1.7</source>
  7. <target>1.7</target>
  8. <encoding>UTF-8</encoding>
  9. <compilerArgs>
  10. <arg>-verbose</arg>
  11. <arg>-Xlint:unchecked</arg>
  12. <arg>-Xlint:deprecation</arg>
  13. <arg>-bootclasspath</arg>
  14. <arg>${env.JAVA_HOME}/jre/lib/rt.jar</arg>
  15. <arg>-extdirs</arg>
  16. <arg>${project.basedir}/src/main/webapp/WEB-INF/lib</arg>
  17. </compilerArgs>
  18. </configuration>
  19. </plugin>  

参考:https://blog.csdn.net/wabyking/article/details/79700030

3) Maven项目的子模块不能打成jar包输出到lib目录

1、在子模块的pom.xml中加个打包方式

  1. <packaging>jar</packaging>

2、再对对模块执行下mvn clean install

Maven 环境隔离实践的更多相关文章

  1. Maven最佳实践:版本管理

    什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用 ...

  2. Maven最佳实践:管理依赖

    From:http://juvenshun.iteye.com/blog/337405 Maven最佳实践:管理依赖 "If I have seen further it is by sta ...

  3. Maven最佳实践:版本管理【转】

    什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用 ...

  4. Maven整理笔记のMaven使用实践

    我们通过实践来补充Maven构建的生命周期. 第一步:配置POM 接着上一篇Maven使用,我们先创建一个名为helloworld的文件夹,在helloworld目录下创建pom.xml文件,pom. ...

  5. maven环境隔离

    pom <build>节点下增加节点 <resources> <resource> <directory> src/main/resources.${d ...

  6. Maven 最佳实践

    持续不断地学习maven Maven是一个很好的工具,但同时也拥有陡峭的学习曲线.因此,将 http://books.sonatype.com/mvnref-book/reference/ 加入到你的 ...

  7. [Maven]初次实践

    都说Maven好,以前一直用ant,这次体验一下. 开始之前,maven给我的印象有2个,一是库依赖管理做得比较好,二是规范了构建编译过程,说白了就是什么目录都规定好了. 好开始安装,解压缩,设置m2 ...

  8. Maven最佳实践:Maven仓库(转)

    转自:http://juvenshun.iteye.com/blog/359256 什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/li ...

  9. 【转】Maven最佳实践:划分模块

    转自:http://juvenshun.iteye.com/blog/305865 “分天下为三十六郡,郡置守,尉,监” —— <史记·秦始皇本纪> 所有用Maven管理的真实的项目都应该 ...

随机推荐

  1. ubuntu Cairo图形库 环境搭建

    Cairo官网:http://cairographics.org/ 根据官网指示,我使用如下语句安装好cairo库 sudo apt-get install libcairo2-dev 从官网拷贝代码 ...

  2. apache 服务器配置

    第一.强制www域名301跳转 RewriteEngine onRewriteCond %{HTTP_HOST} ^itbulu\.com [NC]RewriteRule ^(.*)$ https:/ ...

  3. 2019-04-03-day025-异常与日志

    内容回顾 考试 6个小时 120分 (100+20) 15:00-18:00 笔试 60分 19:00-22:00 上机考试 40分 + 20分 60分及格不算附加题 简答题 读程序 简单编程 编程题 ...

  4. Day7作业及默写

    1. 判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数. 例如: 153 = 1**3 + 5**3 + 3**3 InputNu ...

  5. 新建react项目

    npm install -g create-react-app create-react-app my-app cd my-app npm start

  6. ES6 class的继承-学习笔记

    1.简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多. 子类必须在constructor方法中调用super方法,否则新建实例时会报错. ...

  7. 微软Power BI 每月功能更新系列——11月Power BI 新功能学习

    Power BI Desktop11月产品功能摘要 本月Power BI Desktop 有一个大规模的更新.现在,通常可以使用复合模型在一个模型中将直接查询和导入源组合在一起.UserVoice上的 ...

  8. [转]Spark 踩坑记:数据库(Hbase+Mysql)

    https://cloud.tencent.com/developer/article/1004820 Spark 踩坑记:数据库(Hbase+Mysql) 前言 在使用Spark Streaming ...

  9. Micro- and macro-averages

    https://datascience.stackexchange.com/questions/15989/micro-average-vs-macro-average-performance-in- ...

  10. SpringBoot 配置文件详解

    springboot采纳了建立生产就绪spring应用程序的观点. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.在一般情况下,我们不需要做太多的配置就能够让spring boot正 ...