亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

Maven 生成站點

通常情況下,一個項目很少是由一個人來開發完成的。不同團隊間或者項目上線后,實際用戶和開發者之間的交流都可以在站點上來完成。用戶可以在站點上獲取操作教程,用戶指南等等,而其他的開發者則可以獲取到關于項目的代碼報告,問題追蹤以及版本發布計劃等等。今天我們來介紹一下如何使用 Maven 來生成站點,并且自定義項目的站點。

1. 構建簡單的站點

首先我們打開 mall-aggregate 目錄下的 pom.xml文件,并且在其中添加 maven-site-plugin 插件。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <version>3.9.0</version>
</plugin>

添加完插件之后,Maven 會自動的下載該插件。下載完成后,我們在 mall-aggregate 目錄下執行mvn clean site命令。在控制臺顯示構建完成后,我們可以查看項目的 target 目錄中,已經新產生了 site 目錄。這個目錄就是用來存放站點信息目錄。

站點生成成功后,我們可以執行mvn site:run命令,在運行這個站點。運行的時候會使用 Maven 內置的 jetty 容器來啟動。站點啟動后,我們可以在瀏覽器中輸入localhost:8080/來瀏覽該站點。

這時候,我們項目的簡單站點就生成好了。在這個簡單站點中,我們可以看到關于我們項目的一些信息,比如模塊劃分,依賴管理,插件管理,項目描述等等信息。有了這個站點,用戶與開發者之間,以及開發者與開發者之間就能夠更好的進行交流了。

2. 生成項目報告的插件

有的時候,我們還想要在站點里面看到其他的一些信息,諸如,API 文檔,代碼規約檢查,以及代碼中是否存在某些 Bug 等等。Maven 也提供了豐富的插件來完成這件事情。這里,我們介紹幾個常用的插件。

首先,我們可以打開 Maven 的官網中的插件列表,可以看到不同生命周期對應的不同插件:

這里,我們添加三個比較常用的插件作為示例,其他的功能的插件可以根據自身項目的需要來自行添加。

2.1 添加 javadoc 插件

首先我們在插件列表中找到對應的插件,點擊進入詳情后,可以查看該插件的使用方式和 Maven 坐標。找到坐標后,我們在 pom.xml 文件中加入該坐標:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
	            <aggregate>true</aggregate>
            </configuration>
        </plugin>
    </plugins>
</reporting>

在插件的 Usage 頁面我們可以看到添加該依賴的方式有兩種。

兩種添加依賴方式的區別在于,如果將插件放入到 build 節點下,則需要會生成單獨的 javadoc 文檔,如果將插件的依賴放在 reporting 節點下,則產生的 javadoc 會作為項目報告的一部分,即會生成在站點的目錄中。這里,我們選擇的是后面一種,隨著站點的生成,產生 javadoc 。

此時我們在 mall-aggregate 目錄下執行 mvn clean site 命令。站點生成后,執行mvn site:run 命令啟動站點。站點啟動成功后,嘗試訪問站點的地址 localhost:8080。我們可以看到在站點的目錄中多了一個 Project Reports 的目錄,點開后,我們可以看到 Javadoc 和 Test Javadoc,點擊可以查看其產生的內容。

2.2 添加 checkstyle 插件

checkstyle 插件可以幫助團隊中的各個成員來檢查編碼規范,并生成檢查后的報告。我們首先在 pom.xml 文件中加入 checkstyle 插件的依賴:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.1.1</version>
</plugin>

待 Maven 下載該插件完成后,執行命令mvn clean site來重新生成站點。站點生成后,執行mvn site:run命令來重新啟動站點。啟動后,同樣是在 Project Reports 目錄下,可以看到新生成的 checkStyle 結果。

2.3 添加 jxr 插件

Maven 的 jxr 插件是一個很強大的插件,可以隨時查看項目的源代碼。相同步驟,首先在 pom.xml 文件中加入 jxr 插件的依賴:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jxr-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <aggregate>true</aggregate>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

待 Maven 下載該插件完成后,重新生成站點,并重啟站點,即可在左邊的目錄中看到新生成的源碼目錄,點擊后即閱讀其中的源碼。

3. 自定義站點外觀

默認情況下,如果用戶想要自定義站點的外觀,需要在src/site目錄下創建 site.xml 文件,在該文件中定義其中的參數和配置。

<project name="ximi-mall">
    <!-- 定義左側banner -->
    <bannerLeft>
        <name>Sonatype</name>
        <src>http://www.xianlaiwan.cn/static/img/index/logo.png</src>
        <href>http://maven.apache.org/</href>
    </bannerLeft>
    <!-- 定義菜單欄 -->
    <body>
        <menu ref="reports"/>
    </body>
    <!-- 定義皮膚 -->
    <skin>
        <groupId>org.apache.maven.skins</groupId>
        <artifactId>maven-fluido-skin</artifactId>
        <version>1.9</version>
    </skin>
</project>

這里,我們簡單配置了 site.xml 文件,重新定義了站點的 Logo,以及站點的皮膚(skin)。重新打開站點后,樣式已經發生了很大的變化。

這里面的皮膚可以直接在 Maven 的官網中找到皮膚列表。在這其中選擇自己喜歡的皮膚類型。

4. 小結

本節中,我們簡單介紹了如何使用 Maven 幫助我們來生成自己項目的站點, 以及如何簡單裝飾自己的站點。有了站點,我們可以和用戶以及其他的開發者更好的交流。