1. surefire插件

Maven Surefire 插件有一个 test 目标,该目标被绑定在了 test 阶段。 
test 目标执行项目中所有能在 src/test/java 找到的并且文件名与 **/Test*.java, **/*Test.java 匹配的所有单元测试 ,
在 Maven Surefire 插件执行 JUnit 测试的时候,它同时也在 /target/surefire-reports 
目录下生成 XML 和常规文本报告。 
如果你的测试失败了,你可以去查看这个目录,里面有你单元测试生成的异常堆栈信息和错误信息。
当Maven 遇到一个测试失败,它默认的行为是停止当前的构建。 如果你希望继续构建项目,即使 Surefire 插件
遇到了失败的单元测试,你就需要设置 Surefire 的testFailureIgnore 这个配置属性为 true。
 
  1. <project>
  2. [...]
  3. <build>
  4. <plugins>
  5. <plugin>
  6. <groupId>org.apache.maven.plugins</groupId>
  7. <artifactId>maven-surefire-plugin</artifactId>
  8. <configuration>
  9. <testFailureIgnore>true</testFailureIgnore>
  10. </configuration>
  11. </plugin>
  12. </plugins>
  13. </build>
  14. [...]
  15. </project>

这个表达式可以从命令行通过 -D 参数设置。mvn test -Dmaven.test.failure.ignore=true

Maven 提供了跳过单元测试的能力,只需要使用 Surefire 插件的 skip 参数。 在命令行,只要简单的给任何目标添加
maven.test.skip 属性就能跳过测试:mvn install -Dmaven.test.skip=true
另一种配置 Maven 跳过单元测试的方法是给你项目的 pom.xml 添加这个配置
  1. <project>
  2. [...]
  3. <build>
  4. <plugins>
  5. <plugin>
  6. <groupId>org.apache.maven.plugins</groupId>
  7. <artifactId>maven-surefire-plugin</artifactId>
  8. <configuration>
  9. <skip>true</skip>
  10. </configuration>
  11. </plugin>
  12. </plugins>
  13. </build>
  14. [...]
  15. </project>

2. assembly插件

Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件。 你可以使用 Maven Assembly 插件

以你希望的任何形式来装配输出,只需定义一个自定义的装配描述符,即可生成一个可分发的JAR文件,该文件包含

了项目的二进制文件和所有的依赖。

要配置 Maven Assembly 插件, 需要在 pom.xml 中的build 配置中添加如下的 plugin 配置。如下图所示

  1. <project>
  2. [...]
  3. <build>
  4. <plugins>
  5. <plugin>
  6. <artifactId>maven-assembly-plugin</artifactId>
  7. <configuration>
  8. <descriptorRefs>
  9. <descriptorRef>jar-with-dependencies</descriptorRef>
  10. </descriptorRefs>
  11. </configuration>
  12. </plugin>
  13. </plugins>
  14. </build>
  15. [...]
  16. </project>

添加好这些配置以后,你可以通过运行 mvn assembly:assembly来构建这个装配。将工程依赖的jar包和工程都打成一个jar打包

在 target/***-1.0-jar-with-dependencies.jar 装配好之后, 我们可以在命令行重新运行 Main 类

Java -cp **-1.0-jar-with-dependencies.jar *.*.Main

3. compiler插件

用于编译源代码,默认在compile阶段被调用。两个goal,compiler:compile/compiler:testCompile

windows平台默认使用GBK编码,如果工程编码为utf8,也需要在compiler插件中指出,否则按GBK编码,也会出问题

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-compiler-plugin</artifactId>
  4. <version>3.3</version>
  5. <configuration>
  6. <!--源码的Java版本-->
  7. <source>1.7</source>
  8. <!--运行环境的Java版本-->
  9. <target>1.7</target>
  10. <encoding>UTF8</encoding>
  11. </configuration>
  12. <executions>
        <execution>
        <id>log4j-plugin-processor</id>
        <goals>
        <goal>compile</goal>
        </goals>
              <phase>process-classes</phase>
              <configuration>
                   <proc>only</proc>
                   <annotationProcessors>
                        <annotationProcessor>org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor</annotationProcessor>
                  </annotationProcessors>
              </configuration>
        </execution>
    </executions>

  13. </plugin>

4、Resource插件

  1. <filters>
  2. <filter>${user.home}/asssd.properties</filter>
  3. </filters>
  4. <resources>
  5. <resource>
  6. <directory>src/main/resources</directory>
  7. <filtering>true</filtering>
  8. <includes>
  9. <include>**/*</include>
  10. </includes>
  11. </resource>
  12. <resource>
  13. <directory>src/main/java</directory>
  14. <includes>
  15. <include>**.xml</include>
  16. </includes>
  17. </resource>
  18. </resources>

运行打包命令时,将src/main/resources中的所有文件和src/main/java目录下的所有.xml文件打到jar包中。
其中filters过滤器的作用是将所有引用文件中的${变量名称},替换成antx.properties文件中的变量值。要使用过滤器时,首先需要设置过滤器:
<filters>    
       <filter>${user.home}/antx.properties</filter>
</filters>
然后再启动过滤器, true需要过滤,false不需要过滤:
<filtering>true</filtering>

maven pom.xml几个特殊的插件的更多相关文章

  1. 史上最全的maven pom.xml文件教程详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. 在maven pom.xml中加载不同的properties ,如localhost 和 dev master等jdbc.properties 中的链接不一样

    [参考]:maven pom.xml加载不同properties配置[转] 首先 看看效果: 点开我们项目中的Maven projects 后,会发现右侧 我们profile有个可勾选选项.默认勾选l ...

  3. Maven pom.xml文件详解

    Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...

  4. (转)Maven pom.xml 配置详解

    背景:maven一直感觉既熟悉又陌生,归根结底还是自己不太熟. 1 什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者 ...

  5. Maven(四-2) Maven pom.xml 配置详解

    转载于:http://niuzhenxin.iteye.com/blog/2042102 什么是pom?    pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述 ...

  6. Maven pom.xml 全配置(二)不常用配置

    Maven pom.xml 全配置(二)不常用配置 这里贴出Maven pom.xml文件中使用率较少的配置参数,如果此篇文档中没有找到你想要的参数,移步Maven pom.xml 全配置(一)常用配 ...

  7. Maven pom.xml 全配置(一)常用配置

    Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven ...

  8. Maven - pom.xml 文件

    章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Maven – 构建生命周期.阶段 ...

  9. myeclipse maven pom.xml 配置错误

    http://www.oschina.net/question/2265006_219341#tags_nav maven pom.xml 配置文件错误       腾讯云消息队列CMQ架构解析> ...

随机推荐

  1. pthread中取消线程

    取消线程:告诉一个线程关掉自己,取消操作允许线程请求终止其所在进程中的任何其他线程.不希望或不需要对一组相关的线程执行进一步操作时,可以选择执行取消操作.取消线程的一个示例是异步生成取消条件. 对于c ...

  2. (转)如何实现CSS限制字数,超出部份显示点点点...

    <div style="width:200px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; border:1 ...

  3. Qt添加库文件和头文件目录(QCreator)

    在使用QtCreator开发图像处理程序的时候想加入Opencv库来处理图形,添加头文件,需要编辑工程文件夹下的.pro文件在文件中添加以下内容,即可包含头文件的文件夹: INCLUDEPATH += ...

  4. 转转转---ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法

    ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法   http://blog.csdn.net/yinshan33/article/detail ...

  5. C++ 构造函数_析构函数

    什么是析构函数 如果说构造函数是对象来到世间的第一声哭泣,那么析构函数就是对象死亡前的最后遗言. 析构函数在对象销毁时会被自动调用,完成的任务是归还系统的资源. 特性: 1.如果没有自定义的析构函数, ...

  6. UI“三重天”之selenium--常用API和问题处理(三)

    Selenium常用API: 前面两篇示例代码中用到了一些selenium的API方法,例如定位元素的八种方法.访问url.等待.操作浏览器.获取title.点击.清理等等. 有关于selenium的 ...

  7. Thinkphp 联表查询 表名要全名

    我有2个表 表1. 表2 已知表2的user_id 查询满足 表2.wb_id=表1.id 表1的内容 最佳答案 i 2013年11月15日 $result = M()->table(array ...

  8. Maven 创建java Web项目,配置Spring,CXF

    1.搭建Maven环境 参考文章 Maven3路程(一)环境搭建 http://www.cnblogs.com/leiOOlei/p/3359561.html Maven3路程(二)Eclipse集成 ...

  9. Mathtype 公式显示方框

    公式编辑器mathtype中一些符号显示方框,如何解决呢?出现这个问题的原因是这是因为windows中的mtextra.ttf(显示为MT Extra (TrueType))字体文件不存在或版本太低, ...

  10. Seetaface 向树莓派 移植

    seetaface由中科院计算所山世光研究员带领的人脸识别研究组研发.代码基于C++实现,不依赖第三方库.然而,目前开源的代码,是在windows vs上编译的,对于我们这帮mac/linux用户来说 ...