本資料是「企業發展概論」系列的一部分。上一篇文章:
Maven是一個管理和建置專案的工具-Java 程式設計師真正的助手。它使開發人員在各個工作階段的工作變得更加輕鬆:從建立專案結構和連接必要的庫到在伺服器上部署產品。使用任何框架時,您都必須使用 Maven。那麼今天我們就來看看它的主要功能,看看應該如何使用。
一步步安裝Maven
-
首先,您需要從此連結下載安裝 Maven 。
-
接下來,您需要解壓縮下載的檔案並將 M2_HOME 環境變數設定為指向解壓縮存檔位置的連結。例如,C:\Program Files\maven\
-
若要檢查所有內容是否已安裝,請在命令列中寫入:
mvn 版本
-
如果顯示了 Maven、Java 等版本信息,則表示您已準備就緒。
-
現在打開 IntelliJIDEA 並建立一個新專案。在第一個視窗中,選擇 Maven:
-
按一下下一步並填寫以下對話框:
-
接下來,按照標準在所需位置建立一個項目。
專案創建完成後,注意其結構:
- src/main/java資料夾包含 java 類別;
- 在src/main/resources中- 我們的應用程式使用的資源(HTML 頁面、圖片、樣式表等);
- src/test - 用於測試。
Maven 中的依賴管理
您可能遇到過「依賴關係管理器」或「依賴關係管理器」這個短語。Maven 可以做到這一切。感謝 Maven,您無需花費大量時間在 Internet 上搜尋所需的庫、下載它,然後將其連接到專案:只需將所需的庫添加到 Maven 依賴項清單中即可。 依賴項寫在依賴項 XML 節點中。 假設您的專案中需要 Apache Commons IO 庫來簡化檔案處理。若要新增庫,請在 pom.xml 中寫入五行:<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
您的 pom.xml 現在應該如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
之後,允許 IntelliJ IDEA 導入相依性(右下角應出現一個對話方塊)。現在該庫可以使用了:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
所有後續依賴項也應寫入 <dependencies> 標記內。您可能想知道:您如何知道需要在 <dependency> 標記內包含有關庫的哪些資訊?這裡一切都很簡單。在這種情況下,請務必指定三個參數:groupId、artifactId 和 version。您可以透過兩種方式找到這些參數:
-
在圖書館網站上。如果我們需要 Apache Commons IO,請造訪官方網站並選擇「依賴項資訊」標籤。所有必要的資訊都在這裡- 您只需複製它並將其添加到我們的依賴項部分。
-
在Maven 儲存庫中。在搜尋中輸入“apache commons io”,您將看到該庫的所有可用版本。選擇您需要的後,只需複製:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
並添加到您的 pom.xml 中。
Maven 儲存庫的類型
值得再次提及 Maven 儲存庫,因為我們實際上在您的電腦上有兩個儲存庫 -外部(全域)和本機。您新增至專案中的所有庫都保存在本機儲存庫中。當Maven為專案新增所需的依賴項時,它首先檢查本機儲存庫是否存在這樣的庫,而只有在沒有找到的情況下,它才會轉向外部庫。正如您所看到的,您可以使用 Maven 添加依賴項,但這並不是它的全部功能。使用 Maven 建置 Java 項目
對於新手來說,這個功能可能看起來毫無意義。如果有 IDE 為什麼還需要這個?但不是!首先,您必須在其上建立應用程式的伺服器可能不僅沒有開發環境,而且還沒有圖形介面。其次,在大型專案中,Maven 可以更好地處理組裝專案的任務。因此,我們不要用等待來折磨自己,而是考慮使用 Maven 建立應用程式的過程。階段
建置應用程式的過程稱為 Maven 專案的生命週期,它由階段組成。你可以在IDEA中點選右上角的Maven>example>Lifecycle來查看它們: 如你所見,有9個階段:- clean - 從目標目錄(已儲存完成的工件的位置)中刪除所有已編譯的檔案;
- 驗證 - 檢查所有資訊是否可用於建置專案;
- 編譯 - 編譯帶有原始碼的檔案;
- 測試-測試已啟動;
- package-編譯後的文件被打包(打成jar、war等檔案);
- verify — 執行檢查以確認打包檔案是否已準備就緒;
- install - 套件被放置在本機儲存庫中。現在可以作為外部庫被其他項目使用;
- 網站 - 建立專案文件;
- 部署 - 將收集的存檔複製到遠端儲存庫。
-
透過命令列:
MVN包
-
使用 Intellij IDEA:
在啟動套件之前,將執行驗證、編譯和測試階段。清潔階段是個例外。建議在每個新項目構建之前調用它。可以用空格分隔列出階段:
mvn 乾淨的包包。
外掛
若要將 Maven 插件新增至專案中,其描述與依賴項類似,必須放置在 pom.xml 中的 <build> 和 <plugins> 標記中。例如,我們需要一個外掛程式來檢查所有外部程式庫是否都使用最新版本。在網路上搜尋了一下,你可以找到這個插件,並附有使用說明。讓我們來設定它的groupId、artifactId 和version。讓我們寫下他必須在哪個階段實現哪些目標。在我們的範例中,目前 pom.xml 中的依賴項檢查設定為驗證階段。現在我們的「記憶」是這樣的:<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>uptodate-maven-plugin</artifactId>
<version>0.2.0</version>
<executions>
<execution>
<goals>
<goal>dependency</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
我們仍然可以繼續我們的專案。但讓我們嘗試將 Apache Commons IO 版本更改為 2.0 並開始建置專案。我們得到: [ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
這裡我們有一個由插件引起的建置錯誤。錯誤訊息指出,當 2.6 可用時,我們正在使用 2.0 版本。總的來說,Maven是一個非常有用的工具。一開始可能看起來很難使用,但是練習一下,在 Maven 下創建你的項目,一段時間後你會對結果感到非常滿意。本文故意省略了許多關於 Maven 的細節——我們只專注於要點。但完美是沒有限制的:您可以在產品的官方網站上閱讀更多關於 Maven 的資訊。 第 5 部分:Servlet。寫一個簡單的 Web 應用程式 第 6 部分. Servlet 容器 第 7 部分. 介紹 MVC(模型-視圖-控制器)模式 第 8 部分. 編寫一個小型 spring-boot 應用程序
GO TO FULL VERSION