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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fly910905/article/details/84946029

通过使用<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。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
          <!--
            Exclude JCL and LOG4J since all logging should go through SLF4J.
            Note that we're excluding log4j-<version>.jar but keeping
            log4j-over-slf4j-<version>.jar
          -->
          <packagingExcludes>
            WEB-INF/lib/commons-logging-*.jar,
            %regex[WEB-INF/lib/log4j-(?!over-slf4j).*.jar]
          </packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>
扫描二维码关注公众号,回复: 4665870 查看本文章

猜你喜欢

转载自blog.csdn.net/fly910905/article/details/84946029