当前位置: 首页 > news >正文

Maven的常用插件

  • Apache Maven

Clean

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

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

  • Usage
    在命令行中执行如下命令:

    mvn clean:clean
    

    或者

    mvn clean
    

    修改pom.xml,增加如下配置:

    <project>
    ...
    <build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-clean-plugin</artifactId><version>3.4.0</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-clean-plugin</artifactId><executions><execution><id>auto-clean</id><phase>initialize</phase><goals><goal>clean</goal></goals></execution></executions></plugin>...</plugins>
    </build>
    ...
    </project>
    
  • Dependency Information

  • 代码仓库

Compiler

  • Apache Maven Compiler Plugin
    对于Java项目来说,源码的默认路径为src/main/java,测试代码的默认路径为src/test/java

  • Plugin Documentation

  • Usage
    在命令行中执行如下命令:

    mvn compile
    

    或者

    mvn test-compile
    

    修改pom.xml,增加如下配置:

    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.13.0</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId></plugin>...</plugins></build>...
    </project>
    
  • Compiling Sources Using A Different JDK

  • Setting the -source and -target of the Java Compiler
    修改pom.xml,增加如下配置:

    <project>[...]<properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties>[...]
    </project>
    
  • Setting the --release of the Java Compiler
    使用Java 9及以后的版本编译、构建时,可以指定编译的版本号。
    修改pom.xml,增加如下配置:

    <project>[...]<properties><maven.compiler.release>8</maven.compiler.release></properties>[...]
    </project>
    
  • Compile Using Memory Allocation Enhancements
    修改pom.xml,增加如下配置,即使用单独的javac进程,初始内存指定为128MiB,最大内存指定为512MiB

    <project>[...]<build>[...]<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><fork>true</fork><meminitial>128m</meminitial><maxmem>512m</maxmem></configuration></plugin></plugins>[...]</build>[...]
    </project>
    
  • Pass Compiler Arguments
    修改pom.xml,增加如下配置:

    <project>[...]<build>[...]<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><compilerArgs><arg>-verbose</arg><arg>-Xlint:all,-options,-path</arg></compilerArgs></configuration></plugin></plugins>[...]</build>[...]
    </project>
    

    相关参数,可以参考javac。

JAR

  • Apache Maven JAR Plugin
    构建jar文件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增加如下配置:
    <project>...<modelVersion>4.0.0</modelVersion><groupId>net.jackieathome.studio</groupId><artifactId>core</artifactId><version>1.0-SNAPSHOT</version><!-- <packaging>jar</packaging>  -->...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.4.2</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId></plugin>...</plugins></build>...
    </project>
    

WAR

  • Apache Maven WAR Plugin
    构建war文件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增加如下配置:
    <project>...<modelVersion>4.0.0</modelVersion><groupId>net.jackieathome.studio</groupId><artifactId>core</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.4.0</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId></plugin>...</plugins></build>...
    </project>
    

Shade

  • Apache Maven Shade Plugin
    构建uber jar文件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增加如下配置:
    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.6.0</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><executions><execution><phase>package</phase><goals><goal>shade</goal></goals></execution></executions></plugin>...</plugins></build>...
    </project>
    

Assembly

  • Apache Maven Assembly Plugin
  • Plugin Documentation
  • Usage
    修改pom.xml,增加如下配置:
    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.7.1</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration></plugin>...</plugins></build>...
    </project>
    

Deploy

  • Apache Maven Deploy Plugin

  • Plugin Documentation

  • Usage
    修改pom.xml,增加如下配置:

    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>3.1.3</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId></plugin>...</plugins></build>...
    </project>
    
  • Frequently Asked Questions

  • 代码仓库

Install

  • Apache Maven Install Plugin

  • Plugin Documentation

  • Usage
    修改pom.xml,增加如下配置:

    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId><version>3.1.3</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId></plugin>...</plugins></build>...
    </project>
    

Resources

  • Apache Maven Resources Plugin
    源码资源的默认路径为src/main/resources,测试代码的资源的默认路径为src/test/resources

  • Plugin Documentation

  • Usage
    修改pom.xml,增加如下配置:

    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.3.1</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId></plugin>...</plugins></build>...
    </project>
    
  • Specifying a character encoding scheme

    修改pom.xml,增加如下配置:

    <project ...>...<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>...</properties>..
    </project>
    
  • Filtering

  • Filtering Properties Files

  • Including and excluding files and directories

  • Binary filtering

Surefire

  • Maven Surefire Plugin
    执行单元测试代码。
  • Plugin Documentation
  • Usage
    修改pom.xml,增加如下配置:
    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>3.5.0</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId></plugin>...</plugins></build>...
    </project>
    

Failsafe

  • Maven Failsafe Plugin
    运行集成测试用例的插件。
  • Plugin Documentation
  • Usage
    修改pom.xml,增加如下配置:
    <project>...<build><!-- To define the plugin version in your parent POM --><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><version>3.5.0</version></plugin>...</plugins></pluginManagement><!-- To use the plugin goals in your POM or parent POM --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><executions><execution><goals><goal>integration-test</goal><goal>verify</goal></goals></execution></executions></plugin>...</plugins></build>...
    </project>
    

http://www.mrgr.cn/news/17975.html

相关文章:

  • 台球助教预约系统小程序源码开发
  • 字符分类函数
  • 2024.08.26 校招 实习 内推 面经
  • 公司企业大楼智慧厕所建设步骤和技术要求@卓振思众
  • 在线演示文稿应用PPTist本地化部署并实现无公网IP远程编辑PPT
  • 考试系统将来市场会如何
  • centos7使用ifconfig查看IP,终端无ens33信息解决办法
  • Java基于微信小程序的超市购物管理系统
  • 多重背包问题 模板 C++实现
  • 关于contextmenu-ui组件库
  • 【Python123题库】#统计文章字符数 #查询高校信息 #查询高校名
  • IM项目:进阶版即时通讯项目---项目总览
  • Trino大量查询会导致HDFS namenode主备频繁切换吗?
  • LRU Cache
  • 5.12 飞行控制——PID参数优化
  • Oracle手动误删物理上的数据文件解决办法
  • 多头切片的关键:Model 类 call解释;LlamaModel 类 call解释;多头切片的关键:cache的数据拼接
  • three.js 开发粒子系统
  • RK3568平台(内存篇)Linux内存管理
  • 如何判断请求是否为跨域请求?——详细教程