Java Eclipse 專案中的 Maven 自動構建工具是什麼?


Maven 是一個強大的開源專案管理工具,由 Apache 集團開發,用於構建和管理任何基於 Java 的專案。此外,該工具還可以簡化 Java 開發人員的工作,包括開發報表、檢查構建和測試自動化設定。

如上所述,Maven 主要用於構建和管理許多基於 Java 的專案,Java Eclipse 專案是經常想到的整合開發環境 (IDE)。因此,閱讀本文後,您將瞭解有關 Maven 自動構建工具及其在 Java Eclipse 專案中的含義的所有內容。

瞭解 Maven

Maven 是一個流行的自動構建工具,專注於簡化和標準化構建過程,為開發人員提供以下管理方法:

  • 構建 - 使用 Maven,開發人員可以輕鬆地將任意數量的專案構建成 JAR、WAR 等輸出型別,無需任何指令碼。

  • 文件和報表 - 可以獲取專案資訊,例如日誌文件、依賴項列表、單元測試報告等。

  • 依賴項 - 開發人員可以使用 Maven 輕鬆新增專案的 jar 和其他依賴項。換句話說,它在更新 JAR 和其他依賴項的中央儲存庫時對專案很有幫助。

  • 原始碼管理系統 (SCMs)

  • 釋出

  • 分發

  • 郵件列表

何時使用 Maven?

在以下情況下,任何人都可以使用 Maven 構建工具:

  • 當專案有很多依賴項時,可以使用 Maven 來輕鬆處理這些依賴項。

  • 每當依賴項版本頻繁更新時,可以使用 Maven 只更新 pom(專案物件模型)檔案中的版本 ID 來更新依賴項。

  • 如果有人想要持續構建、整合和測試,可以使用 Maven 來輕鬆一次性處理它們。

  • 如果有人正在尋找一種簡單的方法來從原始碼生成文件、編譯原始碼或將編譯後的程式碼打包到 JAR 檔案或 ZIP 檔案中,使用 Maven 將非常有用。

Maven 的優缺點

每個工具都有其自身的優點和侷限性。以下是 Maven 的優缺點,在 Java Eclipse 專案中使用它之前需要了解。

優點

  • 使用 Maven,您可以透過讀取 pom 檔案自動輕鬆新增專案所需的任何依賴項。

  • 您還可以根據您的要求輕鬆地將專案構建到 jar、war 等。

  • 透過 Maven,可以輕鬆地在不同的環境中啟動專案,無需管理依賴項注入、構建、處理等。

  • 使用 Maven,只需在 pom 檔案中編寫依賴項程式碼即可輕鬆新增新的依賴項。

  • 透過 Maven,可以輕鬆訪問所有所需的資訊。

缺點

  • Maven 工具的主要缺點之一是它需要在系統中安裝 Maven 以及 IDE 的 Maven 外掛才能工作。

  • 如果現有依賴項不包含 Maven 程式碼,則無法透過 Maven 新增該依賴項。

現在,讓我們進一步瞭解 Maven 工具在 Java Eclipse 專案中的核心概念。

Eclipse 基礎知識

Eclipse 是 Java 和 Android 應用程式開發中最流行的 IDE 之一。它提供了一個名為 M2Eclipse 的優秀外掛,該外掛與 Maven 和 Eclipse 整合。

此外,此外掛會自動從遠端 Maven 儲存庫下載所需的依賴項並執行輸出。可以透過 Eclipse 的控制檯檢視 Maven 命令的結果。Maven 依賴項可以與 IDE 一起更新,並且可以在 Eclipse 中建立 Maven 構建。

以下是如何在 Java Eclipse 中建立 Maven 專案:

  • 開啟 Eclipse。

  • 選擇檔案>匯入>選項。

  • 選擇 Maven 專案選項。單擊“下一步”按鈕。

  • 選擇專案位置,使用 Maven 在該位置建立專案。

  • 單擊“完成”按鈕。

  • 現在,您可以在 Eclipse 中看到 Maven 專案。


現在,讓我們看看消費者銀行專案屬性。您可以看到 Eclipse 已將 Maven 依賴項新增到 Java 構建路徑。

現在,是時候使用 Eclipse 的 Maven 功能來構建此專案了。

  • 右鍵單擊 consumerBanking 專案以開啟上下文選單。

  • 選擇“執行方式”選項。

  • 然後選擇 Maven package 選項。

Maven 將開始構建專案。您可以在 Eclipse 控制檯中看到以下輸出:

[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< com.companyname.bank:consumerBanking >----------------
[INFO] Building consumerBanking 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ consumerBanking ---
[INFO] Deleting C:\MVN\consumerBanking\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @
consumerBanking ---

[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
C:\MVN\consumerBanking\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @
consumerBanking ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e.
build is platform dependent!
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @
consumerBanking ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
C:\MVN\consumerBanking\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @
consumerBanking ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e.
build is platform dependent!
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ consumerBanking -
--
[INFO] Surefire report directory: C:\MVN\consumerBanking\target\surefirereports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.companyname.bank.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ consumerBanking ---
[INFO] Building jar: C:\MVN\consumerBanking\target\consumerBanking-1.0-
SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.663 s
[INFO] Finished at: 2021-12-13T17:34:27+05:30
[INFO] ------------------------------------------------------------------------

現在,右鍵單擊 App.java。選擇“執行方式”選項。然後選擇 Java 應用程式。

您將看到以下結果:

Hello World!

結論

Eclipse 為 Maven 工具提供內建支援。它還可以幫助您輕鬆地在 Eclipse IDE 中使用 Maven 專案。

希望本文對您有所幫助!

更新於:2022年10月13日

671 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.