Maven的常用插件

打印 上一主题 下一主题

主题 551|帖子 551|积分 1653

Apache Maven
Clean


  • Apache Maven Clean Plugin
    清理编译期在如下目次内生成的文件。

    • project.build.directory
    • project.build.outputDirectory
    • project.build.testOutputDirectory
    • project.reporting.outputDirectory

  • Plugin Documentation
  • Usage
    在下令行中执行如下下令:
    1. mvn clean:clean
    复制代码
    或者
    1. mvn clean
    复制代码
    修改pom.xml,增长如下配置:
    1. <project>
    2. ...
    3. <build>
    4.   
    5.   <pluginManagement>
    6.     <plugins>
    7.       <plugin>
    8.         <groupId>org.apache.maven.plugins</groupId>
    9.         <artifactId>maven-clean-plugin</artifactId>
    10.         <version>3.4.0</version>
    11.       </plugin>
    12.       ...
    13.     </plugins>
    14.   </pluginManagement>
    15.   
    16.   <plugins>
    17.     <plugin>
    18.       <groupId>org.apache.maven.plugins</groupId>
    19.       <artifactId>maven-clean-plugin</artifactId>
    20.       <executions>
    21.         <execution>
    22.           <id>auto-clean</id>
    23.           <phase>initialize</phase>
    24.           <goals>
    25.             <goal>clean</goal>
    26.           </goals>
    27.         </execution>
    28.       </executions>
    29.     </plugin>
    30.     ...
    31.   </plugins>
    32. </build>
    33. ...
    34. </project>
    复制代码
  • Dependency Information
  • 代码仓库
Compiler


  • Apache Maven Compiler Plugin
    对于Java项目来说,源码的默认路径为src/main/java,测试代码的默认路径为src/test/java。
  • Plugin Documentation
  • Usage
    在下令行中执行如下下令:
    1. mvn compile
    复制代码
    或者
    1. mvn test-compile
    复制代码
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-compiler-plugin</artifactId>
    10.           <version>3.13.0</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-compiler-plugin</artifactId>
    20.       </plugin>
    21.       ...
    22.     </plugins>
    23.   </build>
    24.   ...
    25. </project>
    复制代码
  • Compiling Sources Using A Different JDK
  • Setting the -source and -target of the Java Compiler
    修改pom.xml,增长如下配置:
    1. <project>
    2.   [...]
    3.   <properties>
    4.     <maven.compiler.source>1.8</maven.compiler.source>
    5.     <maven.compiler.target>1.8</maven.compiler.target>
    6.   </properties>
    7.   [...]
    8. </project>
    复制代码
  • Setting the --release of the Java Compiler
    使用Java 9及以后的版本编译、构建时,可以指定编译的版本号。
    修改pom.xml,增长如下配置:
    1. <project>
    2.   [...]
    3.   <properties>
    4.     <maven.compiler.release>8</maven.compiler.release>
    5.   </properties>
    6.   [...]
    7. </project>
    复制代码
  • Compile Using Memory Allocation Enhancements
    修改pom.xml,增长如下配置,即使用单独的javac历程,初始内存指定为128MiB,最大内存指定为512MiB。
    1. <project>
    2.   [...]
    3.   <build>
    4.     [...]
    5.     <plugins>
    6.       <plugin>
    7.         <groupId>org.apache.maven.plugins</groupId>
    8.         <artifactId>maven-compiler-plugin</artifactId>
    9.         <configuration>
    10.           <fork>true</fork>
    11.           <meminitial>128m</meminitial>
    12.           <maxmem>512m</maxmem>
    13.         </configuration>
    14.       </plugin>
    15.     </plugins>
    16.     [...]
    17.   </build>
    18.   [...]
    19. </project>
    复制代码
  • Pass Compiler Arguments
    修改pom.xml,增长如下配置:
    1. <project>
    2.   [...]
    3.   <build>
    4.     [...]
    5.     <plugins>
    6.       <plugin>
    7.         <groupId>org.apache.maven.plugins</groupId>
    8.         <artifactId>maven-compiler-plugin</artifactId>
    9.         <configuration>
    10.           <compilerArgs>
    11.             <arg>-verbose</arg>
    12.             <arg>-Xlint:all,-options,-path</arg>
    13.           </compilerArgs>
    14.         </configuration>
    15.       </plugin>
    16.     </plugins>
    17.     [...]
    18.   </build>
    19.   [...]
    20. </project>
    复制代码
    相关参数,可以参考javac
JAR


  • Apache Maven JAR Plugin
    构建jar文件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <modelVersion>4.0.0</modelVersion>
    4.   <groupId>net.jackieathome.studio</groupId>
    5.   <artifactId>core</artifactId>
    6.   <version>1.0-SNAPSHOT</version>
    7.   
    8.   ...
    9.   <build>
    10.    
    11.     <pluginManagement>
    12.       <plugins>
    13.         <plugin>
    14.           <groupId>org.apache.maven.plugins</groupId>
    15.           <artifactId>maven-jar-plugin</artifactId>
    16.           <version>3.4.2</version>
    17.         </plugin>
    18.         ...
    19.       </plugins>
    20.     </pluginManagement>
    21.    
    22.     <plugins>
    23.       <plugin>
    24.         <groupId>org.apache.maven.plugins</groupId>
    25.         <artifactId>maven-jar-plugin</artifactId>
    26.       </plugin>
    27.       ...
    28.     </plugins>
    29.   </build>
    30.   ...
    31. </project>
    复制代码
WAR


  • Apache Maven WAR Plugin
    构建war文件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <modelVersion>4.0.0</modelVersion>
    4.   <groupId>net.jackieathome.studio</groupId>
    5.   <artifactId>core</artifactId>
    6.   <version>1.0-SNAPSHOT</version>
    7.   <packaging>war</packaging>
    8.   ...
    9.   <build>
    10.    
    11.     <pluginManagement>
    12.       <plugins>
    13.         <plugin>
    14.           <groupId>org.apache.maven.plugins</groupId>
    15.           <artifactId>maven-war-plugin</artifactId>
    16.           <version>3.4.0</version>
    17.         </plugin>
    18.         ...
    19.       </plugins>
    20.     </pluginManagement>
    21.    
    22.     <plugins>
    23.       <plugin>
    24.         <groupId>org.apache.maven.plugins</groupId>
    25.         <artifactId>maven-war-plugin</artifactId>
    26.       </plugin>
    27.       ...
    28.     </plugins>
    29.   </build>
    30.   ...
    31. </project>
    复制代码
Shade


  • Apache Maven Shade Plugin
    构建uber jar文件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-shade-plugin</artifactId>
    10.           <version>3.6.0</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-shade-plugin</artifactId>
    20.         <executions>
    21.           <execution>
    22.             <phase>package</phase>
    23.             <goals>
    24.               <goal>shade</goal>
    25.             </goals>
    26.           </execution>
    27.         </executions>
    28.       </plugin>
    29.       ...
    30.     </plugins>
    31.   </build>
    32.   ...
    33. </project>
    复制代码
Assembly


  • Apache Maven Assembly Plugin
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-assembly-plugin</artifactId>
    10.           <version>3.7.1</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-assembly-plugin</artifactId>
    20.         <configuration>
    21.           <descriptorRefs>
    22.             <descriptorRef>jar-with-dependencies</descriptorRef>
    23.           </descriptorRefs>
    24.         </configuration>
    25.       </plugin>
    26.       ...
    27.     </plugins>
    28.   </build>
    29.   ...
    30. </project>
    复制代码
Deploy


  • Apache Maven Deploy Plugin
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-deploy-plugin</artifactId>
    10.           <version>3.1.3</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-deploy-plugin</artifactId>
    20.       </plugin>
    21.       ...
    22.     </plugins>
    23.   </build>
    24.   ...
    25. </project>
    复制代码
  • Frequently Asked Questions
  • 代码仓库
Install


  • Apache Maven Install Plugin
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-install-plugin</artifactId>
    10.           <version>3.1.3</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-install-plugin</artifactId>
    20.       </plugin>
    21.       ...
    22.     </plugins>
    23.   </build>
    24.   ...
    25. </project>
    复制代码
Resources


  • Apache Maven Resources Plugin
    源码资源的默认路径为src/main/resources,测试代码的资源的默认路径为src/test/resources。
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-resources-plugin</artifactId>
    10.           <version>3.3.1</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-resources-plugin</artifactId>
    20.       </plugin>
    21.       ...
    22.     </plugins>
    23.   </build>
    24.   ...
    25. </project>
    复制代码
  • Specifying a character encoding scheme
    修改pom.xml,增长如下配置:
    1. <project ...>
    2.   ...
    3.   <properties>
    4.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    5.     ...
    6.   </properties>
    7.   ..
    8. </project>
    复制代码
  • Filtering
  • Filtering Properties Files
  • Including and excluding files and directories
  • Binary filtering
Surefire


  • Maven Surefire Plugin
    执行单元测试代码。
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-surefire-plugin</artifactId>
    10.           <version>3.5.0</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-surefire-plugin</artifactId>
    20.       </plugin>
    21.       ...
    22.     </plugins>
    23.   </build>
    24.   ...
    25. </project>
    复制代码
Failsafe


  • Maven Failsafe Plugin
    运行集成测试用例的插件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增长如下配置:
    1. <project>
    2.   ...
    3.   <build>
    4.    
    5.     <pluginManagement>
    6.       <plugins>
    7.         <plugin>
    8.           <groupId>org.apache.maven.plugins</groupId>
    9.           <artifactId>maven-failsafe-plugin</artifactId>
    10.           <version>3.5.0</version>
    11.         </plugin>
    12.         ...
    13.       </plugins>
    14.     </pluginManagement>
    15.    
    16.     <plugins>
    17.       <plugin>
    18.         <groupId>org.apache.maven.plugins</groupId>
    19.         <artifactId>maven-failsafe-plugin</artifactId>
    20.         <executions>
    21.           <execution>
    22.             <goals>
    23.               <goal>integration-test</goal>
    24.               <goal>verify</goal>
    25.             </goals>
    26.           </execution>
    27.         </executions>
    28.       </plugin>
    29.       ...
    30.     </plugins>
    31.   </build>
    32.   ...
    33. </project>
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表