同福

Maven打包的时候排除指定的资源、目录、文件和程序类的方法【20211207】

介绍

介绍

福哥在使用Maven打包TFSpring项目的时候,遇到了一个问题,就是调试类的程序不想打包到jar库包里面去,这个就需要在使用Maven打包的时候把不属于发布内容的部分排除掉。

如果要排除一些项目里面的目录、文件的话,需要在POM里面进行一些配置。

今天福哥就带着大家来了解一下如何通过POM配置排除一些参与Maven打包的目录和文件。

编译器

首先需要确定你的编译器是SpringBoot还是Maven,默认情况下SpringBoot项目的编辑器就是SpringBoot框架自己,如果你和福哥一样是用Maven来打包项目的,那么你的编译器就是Maven

SpringBoot

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

Maven

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
</plugin>

排除

无论是SpringBoot编译器,还是Maven编译器,设置排除项目的方法都是一样的。

在configuration > excludes节点下面添加排除匹配条件。

** 表示多级目录匹配。

* 表示一级目录匹配。

示例

排除任何包含/demo/的目录或者文件。

排除任何目录下的/TfspringApplication.java文件。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <excludes>
            <exclude>**/demo/**</exclude>
            <exclude>**/TfspringApplication.java</exclude>
        </excludes>
    </configuration>
</plugin>

home/topic/2021/1208/15/6afff48cd27fc34d0b7f2deb62da86fb.png

总结

任何一个SpringBoot项目都会有POM(pom.xml)和启动类(main class),通常情况下开发环境的文件和生产环境的文件是不一样的。

今天福哥教给了童鞋们如何在生产环境里面排除开发环境的目录、类文件的方法。

下一课,福哥会教给大家如何在Maven打包的时候指定POM和启动类的方法,敬请期待~~