項目中常用的maven內置插件,你知道哪些?

開發的代碼使用maven進行管理,再常見不過。maven其實是由許多內置的插件,來支撐我們日常需求的。下面來看看都有哪些常用的插件,你注意到過嗎?

編譯插件
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>2.3.2</version>
	<!--指定JDK版本和編碼-->
	<configuration>
		<source>1.8</source>
		<target>1.8</target>
		<encoding>UTF-8</encoding>
	</configuration>
</plugin>
源碼打包插件
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>3.6.0</version>
    <!-- 進行package命令時就可以將源碼同時進行打包 -->
    <!-- 所以我們需要綁定source插件到我們default生命週期的package階段 -->
    <executions>
        <execution>
            <!-- 定義一個階段,這個階段是package -->
            <phase>package</phase>
            <goals>
                <goal>jar-no-fork</goal>
            </goals>
        </execution>
    </executions>
</plugin>

在默認的情況下,對於src/main/java目錄,Maven只打包class文件,而不會打包其他文件,如果src/main/java目錄中有其他類型的文件,如.xml、.properties文件。需要做如下配置

在pom文件中找到<build>節點增加如下配置

<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
    </resource>
</resources>
生成jar包插件(agent開發使用)
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.0.2</version>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
            </manifest>
            <manifestEntries>
            	<!-- premain類的全類名 -->
                <Premain-Class>
                    com.kaka.jtest.jdk.java.lang.instrument.VMAgent
                </Premain-Class>
                <!-- agent類的全類名 -->
                <Agent-Class>
                    com.kaka.jtest.jdk.java.lang.instrument.hotswap.ReplaceAgent
                </Agent-Class>
                <Can-Redefine-Classes>
                    true
                </Can-Redefine-Classes>
                <Can-Retransform-Classes>
                    true
                </Can-Retransform-Classes>
                <Boot-Class-Path>D:\Java\jdk1.8.0_31\lib\tools.jar</Boot-Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>
生成war包插件
<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <warSourceDirectory>webapp</warSourceDirectory>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>

持續更新中。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章