配置Maven的构建插件有哪些?

252 阅读1分钟

在Maven中,构建插件(Build Plugins)是用来处理项目的各种构建过程的工具,比如编译源代码、运行测试、生成报告、打包应用等。这些插件的配置通常放在pom.xml文件的<build>标签下的<plugins>子标签中。

以下是一些常见构建插件的配置示例:

1、Maven Compiler Plugin:用于编译Java源代码

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version> <!-- 使用时请检查最新版本 -->
            <configuration>
                <source>1.8</source> <!-- 源代码版本 -->
                <target>1.8</target> <!-- 目标字节码版本 -->
                <encoding>UTF-8</encoding> <!-- 字符编码 -->
            </configuration>
        </plugin>
    </plugins>
</build>

2、Maven Surefire Plugin:用于运行JUnit测试

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M5</version> <!-- 使用时请检查最新版本 -->
            <configuration>
                <includes>
                    <include>**/*Test.java</include> <!-- 包含以Test结尾的测试类 -->
                </includes>
                <excludes>
                    <exclude>**/Abstract*.java</exclude> <!-- 排除以Abstract开头的类 -->
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

3、Maven Jar Plugin:用于打包JAR文件(如果项目的<packaging>标签是jar,则这个插件是默认的)

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version> <!-- 使用时请检查最新版本 -->
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.example.MainClass</mainClass> <!-- 主类 -->
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

4、Maven War Plugin:用于打包WAR文件(如果项目的<packaging>标签是war,则这个插件是默认的)

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.3.1</version> <!-- 使用时请检查最新版本 -->
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml> <!-- 如果没有web.xml文件,是否失败 -->
                <warSourceDirectory>src/main/webapp</warSourceDirectory> <!-- web应用目录 -->
            </configuration>
        </plugin>
    </plugins>
</build>

5、Maven Source Plugin:用于生成源代码JAR包

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.2.0</version> <!-- 使用时请检查最新版本 -->
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>