maven-jar-plugin打包时排除指定文件

4,916 阅读1分钟
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.0.2</version>
    <configuration>
        <excludes>
            <!--以类路径目录为基础-->
            <exclude>*.yml</exclude>
            <exclude>/*/*.xml</exclude>
        </excludes>
    </configuration>
</plugin>

exclude是从类路径开始排除, 如图:

image.png

我们打包项目一般会把配置文件打包进jar,但是启动一般回优先使用与jar包同级的配置文件,这样也方便修改, 所以我们可以选择不把配置文件打包进jar, 通常结构如图:

image.png

使用maven-jar-plugin插件, 在excludes标签中指定<exclude>application.yml</exclude>, 可以在打包时将配置文件排除在外, 获得如下结果:

image.png

exclude标签支持通配符, 使用<exclude>*.yml</exclude>可以在打包时排除所有以yml结尾的文件;

image.png

/代表目录层级,可以通过<exclude>/*/*.xml</exclude>来排除所有二级目录下的xml文件, 如果想在打包时全局排除某一类型的文件, 可以通过<exclude>/**/*.xml</exclude>标签来实现.