功能:主要用于打包资源文件,默认情况下maven只打包src/main/resource下的资源,通过

1、设置build_resources
2、使用build-helper-maven-plugin插件
3、使用maven-resources-plugin插件
都可以自定要打包的资源



首先,来看下MAVEN项目标准的目录结构:

一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。

有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。(maven认为src/main/java只是java的源代码路径)。网络上有很多方法,我大概试了下,几种方法都可以,可以任选一种即可。

方法1,其中**/*这样的写法,是为了保证各级子目录下的资源文件被打包。

  1. <build>
  2. <finalName>test</finalName>
  3. <!--
  4. 这样也可以把所有的xml文件,打包到相应位置。
  5. <resources>
  6. <resource>
  7. <directory>src/main/resources</directory>
  8. <includes>
  9. <include>**/*.properties</include>
  10. <include>**/*.xml</include>
  11. <include>**/*.tld</include>
  12. </includes>
  13. <filtering>false</filtering>
  14. </resource>
  15. <resource>
  16. <directory>src/main/java</directory>
  17. <includes>
  18. <include>**/*.properties</include>
  19. <include>**/*.xml</include>
  20. <include>**/*.tld</include>
  21. </includes>
  22. <filtering>false</filtering>
  23. </resource>
  24. </resources>
  25. </build>

方法2,利用build-helper-maven-plugin插件

  1. <build>
  2. ...
  3. </plugins>
  4. ...
  5. <!--
  6. 此plugin可以用
  7. 利用此plugin,把源代码中的xml文件,
  8. 打包到相应位置,这里主要是为了打包Mybatis的mapper.xml文件
  9. -->
  10. <plugin>
  11. <groupId>org.codehaus.mojo</groupId>
  12. <artifactId>build-helper-maven-plugin</artifactId>
  13. <version>1.8</version>
  14. <executions>
  15. <execution>
  16. <id>add-resource</id>
  17. <phase>generate-resources</phase>
  18. <goals>
  19. <goal>add-resource</goal>
  20. </goals>
  21. <configuration>
  22. <resources>
  23. <resource>
  24. <directory>src/main/java</directory>
  25. <includes>
  26. <include>**/*.xml</include>
  27. </includes>
  28. </resource>
  29. </resources>
  30. </configuration>
  31. </execution>
  32. </executions>
  33. </plugin>
  34. ...
  35. </plugins>
  36. ...
  37. </build>

方法3,利用maven-resources-plugin插件

  1. <build>
  2. ...
  3. </plugins>
  4. ...
  5. <!--
  6. 此plugin可以用
  7. 利用此plugin,把源代码中的xml文件,打包到相应位置,
  8. 这里主要是为了打包Mybatis的mapper.xml文件
  9. -->
  10. <plugin>
  11. <artifactId>maven-resources-plugin</artifactId>
  12. <version>2.5</version>
  13. <executions>
  14. <execution>
  15. <id>copy-xmls</id>
  16. <phase>process-sources</phase>
  17. <goals>
  18. <goal>copy-resources</goal>
  19. </goals>
  20. <configuration>
  21. <outputDirectory>${basedir}/target/classes</outputDirectory>
  22. <resources>
  23. <resource>
  24. <directory>${basedir}/src/main/java</directory>
  25. <includes>
  26. <include>**/*.xml</include>
  27. </includes>
  28. </resource>
  29. </resources>
  30. </configuration>
  31. </execution>
  32. </executions>
  33. </plugin>
  34. ...
  35. </plugins>
  36. ...
  37. </build>

Maven_Build_Resources的更多相关文章

随机推荐

  1. Appium学习实践(三)测试用例脚本以及测试报告输出

    之前Appium学习实践(二)Python简单脚本以及元素的属性设置中的脚本,会有一个问题,就是在每个测试用例完成之后都会执行tearDown,然后重新setUp,这样导致脚本的执行效率偏低,而且会有 ...

  2. CF722C. Destroying Array[并查集 离线]

    链接:Destroying Array C. Destroying Array time limit per test 1 second memory limit per test 256 megab ...

  3. NOIP2002矩形覆盖[几何DFS]

    题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这 ...

  4. cookie 和 session 的基础知识

    cookie 和 session 的基础知识 cookie 和session 的区别详解 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会 ...

  5. session跨域和ajax跨域名

    后台跨域和ajax跨域名: 后台跨域: www.baidu.com   主域名(一级域名一般以www开头) news.baidu.com   二级域名 (a.test.com和b.test.com有相 ...

  6. ASP.NET后台获取cookie中文乱码解决办法

    项目中有一功能,需要从一个页面前台使用cookie保存json数据,并传递到第二个页面.要在第二个页面中获取cookie中的json的值,没有任何处理情况下,获取的字符串为乱码,就连符号都是乱码的.百 ...

  7. 关于ubuntu的sources.list总结

    一.作用 文件/etc/apt/sources.list是一个普通可编辑的文本文件,保存了ubuntu软件更新的源服务器的地址.和sources.list功能一样的是/etc/apt/sources. ...

  8. css3结构性伪类选择器

  9. jmeter(二)录制脚本

    对大多数刚开始接触性能测试的人来说,代码功力可能不是太好,我们可以通过工具,录制脚本来进行测试,以达到我们的目的 一般来讲,录制脚本有两种方法 一.利用badboy进行脚本录制 1.下载安装 badb ...

  10. 笔记 (note)

    笔记[问题描述]给定一个长度为m的序列a,下标编号为1~m.序列的每个元素都是1~n的整数.定义序列的代价为m−1 ∑|ai+1-ai| i=1 你现在可以选择两个数x和y,并将序列a中所有的x改成y ...