JavaRush /Java Blog /Random-TW /第 4 部分:Maven 基礎知識

第 4 部分:Maven 基礎知識

在 Random-TW 群組發布
本資料是「企業發展概論」系列的一部分。上一篇文章: 第 4 部分.Maven 基礎知識 - 1Maven是一個管理和建置專案的工具-Java 程式設計師真正的助手。它使開發人員在各個工作階段的工作變得更加輕鬆:從建立專案結構和連接必要的庫到在伺服器上部署產品。使用任何框架時,您都必須使用 Maven。那麼今天我們就來看看它的主要功能,看看應該如何使用。

一步步安裝Maven

  1. 首先,您需要從此連結下載安裝 Maven 。

  2. 接下來,您需要解壓縮下載的檔案並將 M2_HOME 環境變數設定為指向解壓縮存檔位置的連結。例如,C:\Program Files\maven\

  3. 若要檢查所有內容是否已安裝,請在命令列中寫入:

    mvn 版本

  4. 如果顯示了 Maven、Java 等版本信息,則表示您已準備就緒。

  5. 現在打開 IntelliJIDEA 並建立一個新專案。在第一個視窗中,選擇 Maven:

    第 4 部分. Maven 基礎知識 - 2
  6. 按一下下一步並填寫以下對話框:

    第 4 部分.Maven 基礎 - 3
  7. 接下來,按照標準在所需位置建立一個項目。

    專案創建完成後,注意其結構:

    第 4 部分. Maven 基礎知識 - 4
這是Maven 專案的標準結構
  • src/main/java資料夾包含 java 類別;
  • src/main/resources中- 我們的應用程式使用的資源(HTML 頁面、圖片、樣式表等);
  • src/test - 用於測試。
另請注意名為pom.xml的檔案。這是管理 Maven 的主要檔案。整個項目描述都包含在這裡。目前還沒有太多信息,但我們現在會添加它。

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。您可以透過兩種方式找到這些參數:
  1. 在圖書館網站上。如果我們需要 Apache Commons IO,請造訪官方網站並選擇「依賴項資訊」標籤。所有必要的資訊都在這裡- 您只需複製它並將其添加到我們的依賴項部分。

  2. 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來查看它們: 第 4 部分. Maven 基礎知識 - 5如你所見,有9個階段:
  1. clean - 從目標目錄(已儲存完成的工件的位置)中刪除所有已編譯的檔案;
  2. 驗證 - 檢查所有資訊是否可用於建置專案;
  3. 編譯 - 編譯帶有原始碼的檔案;
  4. 測試-測試已啟動;
  5. package-編譯後的文件被打包(打成jar、war等檔案);
  6. verify — 執行檢查以確認打包檔案是否已準備就緒;
  7. install - 套件被放置在本機儲存庫中。現在可以作為外部庫被其他項目使用;
  8. 網站 - 建立專案文件;
  9. 部署 - 將收集的存檔複製到遠端儲存庫。
所有階段都按順序執行:在階段 1-3 完成之前,您無法開始第四階段。有兩種方式開始一個階段:
  • 透過命令列:

    MVN包

    第 4 部分. Maven 基礎知識 - 6
  • 使用 Intellij IDEA:

    第 4 部分. Maven 基礎知識 - 7

    在啟動套件之前,將執行驗證、編譯和測試階段。清潔階段是個例外。建議在每個新項目構建之前調用它。可以用空格分隔列出階段:

    mvn 乾淨的包包。

此外,每個階段都有預階段和後階段:例如,預先部署、後部署、預清理、後清理,但它們很少使用。此外,每個階段都有目標。預設包含標準目標,其他目標由 Maven 插件新增。有時在某個階段您需要執行附加功能。有 Maven 插件可以實現此目的。官方插件列表可以在 Maven 網站上找到。但要知道,仍然可以在第三方資源上找到許多自訂插件。好吧,當然,如果有一些特殊的需求,您總是有機會自己編寫這樣的插件

外掛

若要將 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 應用程序
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION