(六)常见插件解析

项目主类的运行与打包
 
  常规的打包方式是只打包主项目的功能类,有时我们需要将依赖全部打进来,这时可用maven-shade-plugin插件。使用上,由于其只存在一个goal shade:shade,因此,只需将其绑定到phase package上。
      <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
 
测试类的打包
 
maven-assembly-plugin插件来定制化打包方式。该插件的使用有两种方式,一种是官方提供的定制化的打包方式,一种是自定义打包方式。
   2.1 官方标准方式
     使用descriptorRefs,可用jar-with-dependencies保证将相关依赖全部打进去。
   2.2 自定义方式
   id 标识符,添加到生成文件名称的后面,文件名为:${artifactId}.${version}-${id}
   formats  指定打包格式,支持的打包格式包括zip、tar、war、jar等。
   includeBaseDirectory 指定是否包含打包目录,如果定义了finalName标签值,首先文件名变为${finalName}-${id},其次,当includeBaseDirectory设置为true时会在压缩包根目录下创建finalName的文件夹,并将所有内容放置在该文件夹下。当设置为false时,表示将打包的所有文件直接放在包的根目录下。
   dependencySets  指定压缩包中要包含的依赖及其包含方式(jar包/类)并确定存放路径  
      useProjectArtifact  确定当前项目生成的构件是否包含进去,默认为true
      scope  依赖范围,默认为runtime   
      unpack 是否将依赖解压,默认为false
      outputDirectory  以压缩包为根目录,设置以上构件在压缩包中的存放位置
   fileSets 指定压缩包中要包含的文件并确定存放路径 
      directory  源目录
      outputDirectory  目标目录(以压缩包为根目录的目标目录)
源目录中的
 语法:该插件的single目标会作用在package阶段从而实现打包,其中打包方式通过xml文件自定义。
 
测试执行
 
   test阶段默认与maven-surefire-plugin的test目标绑定,Maven执行测试用例时,是通过调用maven的surefire插件并fork一个子进程来执行用例的。forkMode指明是要为每个测试创建一个进程,还是所有测试在同一个进程中完成。常用取值包括:once、perfect。含义:
  once:在一个进程中进行所有的测试
  perfect:为每一个测试创建一个进程。
 参数默认值是once。   
 
   
posted @ 2020-05-02 10:24  FCity  阅读(215)  评论(0编辑  收藏  举报