maven-war-plugin:Maven打war包时,排除和包含指定文件或目录

简介: maven-war-plugin:Maven打war包时,排除和包含指定文件或目录


通过使用<packagingIncludes>和<packagingExcludes>配置参数,可以在WAR文件中包含或排除某些文件或者目录。

可以通过逗号分隔,配置多个文件或者目录路径。

使用**等通配符表示多个目录,使用*表示文件或目录名称的可选部分。

**:可以删除当前文件夹和文件夹里的内容


示例1:从WEB-INF / lib中排除所有JAR文件

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
          <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>


示例2:排除resource文件或者只包含Java文件

WEB程序结构如下:

使用以下配置,我们可以排除resource里的配置文件或者只包含Java文件

<plugin>
  <artifactId>maven-war-plugin</artifactId>
  <version>3.2.2</version>
  <configuration>
    <!--注意:这是打包后的路径-->
    <!--
      **:可以删除当前文件夹和文件夹里的内容
    -->
    <packagingExcludes>
      <!--排除resources下面的config文件中的properties文件-->
      <!--WEB-INF/classes/config/*.properties-->
      <!--排除resources下面的config文件和config里面的文件-->
      WEB-INF/classes/config/**
    </packagingExcludes>
    <!--只包含com和com下面的所有文件夹和文件【即,只打包Java文件】-->
    <!--<packagingIncludes>
      WEB-INF/classes/com/**
    </packagingIncludes>-->
  </configuration>
</plugin>


示例3:正则表达式排除文件

有时甚至这样的通配符还不够。在这些情况下,您可以使用%regex []语法的正则表达式。

在此示例中,我们要排除任何commons-logging和log4j JAR,但我们不希望排除log4j-over-slf4j JAR。

所以我们要排除log4j- <version> .jar,但保留log4j-over-slf4j- <version> .jar。

<plugin>
  <artifactId>maven-war-plugin</artifactId>
  <version>3.2.2</version>
  <configuration>
    <!--注意:这是打包后的路径-->
    <!--
      **:可以删除当前文件夹和文件夹里的内容
    -->
    <packagingExcludes>
      <!--排除resources下面的config文件中的properties文件-->
      <!--WEB-INF/classes/config/*.properties-->
      <!--排除resources下面的config文件和config里面的文件-->
      WEB-INF/classes/config/**
    </packagingExcludes>
    <!--只包含com和com下面的所有文件夹和文件【即,只打包Java文件】-->
    <!--<packagingIncludes>
      WEB-INF/classes/com/**
    </packagingIncludes>-->
  </configuration>
</plugin>

 



目录
相关文章
|
3天前
|
Java Maven
maven打瘦包,且只打入部分想打入的依赖瘦包
maven打瘦包,且只打入部分想打入的依赖瘦包 设计 工程结构分析 环境管理 城市资源 安全工程 工程管理
26 10
|
2天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
32 8
|
15天前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
30 1
|
1月前
|
Java Maven
用graalvm将maven项目打包成可执行文件
本文介绍了如何使用GraalVM将Maven项目打包成可执行文件,包括引入依赖和插件、编写代码、执行打包命令以及运行查看结果的完整过程。
111 0
用graalvm将maven项目打包成可执行文件
|
3月前
|
Java Maven Spring
Maven重打包问题之maven-shade-plugin插件对于重复的class文件会如何处理
Maven重打包问题之maven-shade-plugin插件对于重复的class文件会如何处理
|
4月前
|
Java Maven 开发者
gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
43 0
|
5月前
|
Java 关系型数据库 Maven
SpringBootWebProject学习4、maven打war包
SpringBootWebProject学习4、maven打war包
48 1
|
5月前
|
Java 关系型数据库 MySQL
Maven如何快捷导入jar包
Maven如何快捷导入jar包
|
5月前
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
|
5月前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
70 0