吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1921|回复: 2
收起左侧

[其他转载] maven三常用的插件使用

  [复制链接]
xiemm201 发表于 2022-3-14 09:38

目录
背景
SpringBoot 打包时排除文件
Spring 打包本地依赖 jar
编译时排除指定文件
复制粘贴的原则
总结
背景
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 目录中就不包括指定文件,从而导致本地运行时缺少配置文件,所以开发期间不建议用这种方式。

免费评分

参与人数 3吾爱币 +1 热心值 +3 收起 理由
googldfo + 1 + 1 谢谢@Thanks!
LQhannahQL + 1 我很赞同!
love2334163717 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zlf2020999 发表于 2022-3-14 09:43
谢谢分享!支持一下!!
内疚是刽子手 发表于 2022-3-14 09:59
spring-boot-maven-plugin这个包很奇怪 我每次新pc装idea打开项目加载maven的时候 这个包天天找不到 过段时间又好了 。。。想不明白
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 08:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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