SpringBoot之Maven經常使用插件

SpringBoot項目比較簡單,通常涉及到的插件不外乎「打包」、「編譯」、「測試」、「編碼規範檢查」。java

SpringBoot打包插件

mainClass 指明啓動的main方法的類 addResources 指明是否添加 resourcespring

<build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                        <goal>build-info</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>com.jiaomatech.eurake.EurakeApplication</mainClass>
                <addResources>true</addResources>
            </configuration>
        </plugin>
    </plugins>
</build>
複製代碼

編譯插件

maven-compiler-plugin 用來編譯Java代碼, maven-resources-plugin 用於處理資源文件, versions-maven-plugin 用來管理版本apache

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <inherited>true</inherited>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <parameters>true</parameters>
    </configuration>
</plugin>
複製代碼

執行測試的插件

測試類遵循通用的命令約定(以Test結尾、以TestCase結尾、或者以Test開頭)maven

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin.version}</version>
    <inherited>true</inherited>
    <configuration>
        <forkCount>1</forkCount>
        <reuseForks>false</reuseForks>
    </configuration>
</plugin>
複製代碼

阿里巴巴代碼檢測

maven-pmd-plugin 阿里巴巴提供的插件spring-boot

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>3.8</version>
    <configuration>
        <rulesets>
            <ruleset>rulesets/java/ali-comment.xml</ruleset>
            <ruleset>rulesets/java/ali-concurrent.xml</ruleset>
            <ruleset>rulesets/java/ali-constant.xml</ruleset>
            <ruleset>rulesets/java/ali-exception.xml</ruleset>
            <ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
            <ruleset>rulesets/java/ali-naming.xml</ruleset>
            <ruleset>rulesets/java/ali-oop.xml</ruleset>
            <ruleset>rulesets/java/ali-orm.xml</ruleset>
            <ruleset>rulesets/java/ali-other.xml</ruleset>
            <ruleset>rulesets/java/ali-set.xml</ruleset>
        </rulesets>
        <printFailingErrors>true</printFailingErrors>
        <excludeRoots>
            <excludeRoot>target/generated-sources/annotations</excludeRoot>
        </excludeRoots>
    </configuration>
    <executions>
        <execution>
            <phase>verify</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.p3c</groupId>
            <artifactId>p3c-pmd</artifactId>
            <version>1.3.0</version>
        </dependency>
    </dependencies>
</plugin>
複製代碼
相關文章
相關標籤/搜索