文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

maven三个常用的插件使用介绍

2024-04-02 19:55

关注

背景

maven 常用的三个插件对打包有不同的作用:

maven-jar-plugin:处理 jar 包生成;

spring-boot-maven-plugin:SpringBoot 项目打包;

maven-assembly-plugin:自定义打包结构。

而实际开发过程中这三个插件可能都综合使用,本文类介绍混合使用这些插件时需要注意的事项。

SpringBoot 打包时排除文件

SpringBoot 项目打包时一般会抽出配置文件和静态资源文件到指定目录,然后通过 --spring.config.additional-location=file:xxx 额外指定配置文件。

这样的话,SpringBoot 打包时就需要排除配置文件和静态资源文件,可以用 maven-ja-pluginr 插件来排除:


<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-jar-plugin</artifactId>
     <version>3.2.0</version>
     <configuration>
         <excludes>
             <exclude>*.yml</exclude>
             <exclude>static/**</exclude>
             <exclude>lib/**</exclude>
         </excludes>
     </configuration>
 </plugin>

注意:如果排除文件夹,需要后面两个星星。

Spring 打包本地依赖 jar

如果项目需要依赖本地某目录下的 jar 包,而它又没有在仓库中发布的话,可以通过如下方式添加依赖:


<dependency>
   <groupId>XXXX</groupId>
   <artifactId>XXX</artifactId>
   <version>1.0.0</version>
   <scope>system</scope>
  <systemPath>${project.basedir}/src/main/resources/lib/xxx.jar</systemPath>
</dependency>

值得注意的是,如果项目用了 SpringBoot 打包插件,默认是不会将 system 作用域的 jar 打入 lib 目录的,需要添加 includeSystemScope 配置将第三方 jar 包加入到 lib :


<plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <configuration>
         <includeSystemScope>true</includeSystemScope>
     </configuration>
 </plugin>

编译时排除指定文件

pom.xml 的 resources 配置可以对资源文件进行筛选,常见配置如下:


<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
            <exclude>static/**</exclude>
            <exclude>*.yml</exclude>
        </excludes>
    </resource>
</resources>

该方式会直接影响编译时资源文件的处理过程,即 target 目录下的 classes 目录中就不包括指定文件,从而导致本地运行时缺少配置文件,所以开发期间不建议用这种方式。

复制粘贴的原则

想起以前看到的一段经典话语:

我从互联网上得到的最好的经验之一,就是永远不要复制和粘贴不是自己编写的代码。如果你一定要复制,那就照着它逐字输入,逼着自己思考,这些代码实际上是什么意思。

除了代码需要复制粘贴,平时文档编写时也免不了拿旧文档做模板。

word 文档编写过程中,如果内容是复制、粘贴的,我的经验是,完成后必做几项检查:

标题:检查文档中的标题、系统名称是否更正为目标文档的内容。目录更正:文档页码变化后,必须重新生成目录与之对应。修改内容校对:修改过的内容,需要校对至少三遍。

总结

到此这篇关于maven三个常用的插件使用介绍的文章就介绍到这了,更多相关maven插件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯