Maven 常见插件

红太狼 2022-03-09 14:52 333阅读 0赞

前言

上章我们了解了Maven的基础命令和生命周期. 本章我们详细的聊聊插件,为后面的打包做基础.


插件

所有的插件配置都是写在pom.xml文件的<build>目录之间的.我们常见的Maven插件如下所示:

  • maven-compiler-pluginJDK版本和编码


    maven-compiler-plugin

    1.8
    1.8
    utf-8

  • maven-resources-plugin设置Resources编码


    org.apache.maven.plugins
    maven-resources-plugin

    ${project.build.sourceEncoding}

  • maven-jar-pluginJar包 指定启动类


    org.apache.maven.plugins
    maven-jar-plugin

    1.8
    1.8


    com.yanxml.win.AWTFileReaderDemo
    true
    lib/






  • maven-war-pluginwar包


    org.apache.maven.plugins
    maven-war-plugin



    src/main/resources/static
    WEB-INF/classes
    true


    false

  • maven-source-plugin源码包


    maven-source-plugin
    2.4


    package

    jar-no-fork




    org.apache.maven.plugins
    maven-source-plugin
    2.1

    true



    compile

    jar



  • maven-surefire-plugin跳过单元测试


    maven-surefire-plugin
    2.6

    true

<skip>true</skip>mvn package -Dmaven.test.skip=true

  • maven-shade-plugin所有依赖包压成一个包


    org.apache.maven.plugins
    maven-shade-plugin
    2.4.3


    package

    shade





    com.meiyou.topword.App
    ${maven.compile.source}
    ${maven.compile.target}







    org.apache.maven.plugins
    maven-shade-plugin
    1.2.1


    package

    shade




    com.zhaoyanblog.Launcher



    META-INF/spring.handlers


    META-INF/spring.schemas




  • maven-dependency-plugin所有依赖包另外输出


    org.apache.maven.plugins
    maven-dependency-plugin
    2.10


    copy-dependencies
    package

    copy-dependencies


    ${project.build.directory}/lib




    org.apache.maven.plugins
    maven-dependency-plugin


    copy
    package

    copy-dependencies


    runtime
    target/lib/



  • maven-assembly-plugin自定义打包(Jar/Tar.gz)


    maven-assembly-plugin

    ${package}-${package.version}
    true
    false

    ${basedir}/scripts/${package.format}/common/package.xml


  • 自定义打包(package.xml文件)



    0.1

    tar





    images
    /images





    target/${package}-${package.version}.war
    /
    ${package}-${package.version}.war
    0755



  • spring-boot-maven-pluginspringboot打包插件


    org.springframework.boot
    spring-boot-maven-plugin


    package

    repackage




    ${start-class}

注: 更多的打包插件,请查看http://maven.apache.org/plugins/index.html 官方提供的文档.


Reference

[1]. Maven的几个常用plugin

[2]. maven常用插件: 打包源码 / 跳过测试 / 单独打包依赖项

[3]. maven关于打包的那些插件

[4]. Java技术–maven的assembly插件打包(依赖包归档

[5]. 使用maven插件对java工程进行打包

[6]. Offical Maven Plugin Doc

发表评论

表情:
评论列表 (有 0 条评论,333人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Maven 常见

    前言 上章我们了解了Maven的基础命令和生命周期. 本章我们详细的聊聊插件,为后面的打包做基础. -------------------- 插件 所有的插件配

    相关 Maven

    Maven 有以下三个标准的生命周期: - **clean**:项目清理的处理 - **default(或 build)**:项目部署的处理 - **site**:项目站...