聊聊 Apache Maven

文章最後更新於 2023 年 1 月 7 日

Apache Maven是一個軟件項目管理和自動化軟件建構工具。它使用XML格式的項目配置文件和一組在命令行中運行的指令,來控制軟件項目的建構、測試和部署。

以下是一些常用的Maven指令:

  • mvn clean: 刪除項目的target目錄,通常在建構項目之前使用。
  • mvn compile: 編譯項目的源代碼。
  • mvn test: 執行項目的測試。
  • mvn package: 將項目打包成可部署的格式(如JAR文件)。
  • mvn install: 將項目的可部署文件安裝到本地仓库,以便其他項目可以使用。
  • mvn deploy: 將項目的可部署文件發布到遠程仓库,以便其他項目可以使用。
  • mvn archetype:generate: 使用Maven類型插件生成一個新的項目骨架。
  • mvn dependency:tree: 顯示項目依賴關係的樹狀圖。

這些指令可以在命令行中直接運行,也可以在項目的pom.xml文件中作為插件執行。

此外,Maven還有許多其他插件可以用來自動化各種任務,如代碼分析、文檔生成、構建服務器配置等。

Maven依賴關係管理插件可以幫助你管理項目中使用的依賴項(即外部庫)。

你可以使用以下指令來管理依賴項:

  • mvn dependency:list: 顯示項目的依賴項列表。
  • mvn dependency:tree: 顯示項目依賴關係的樹狀圖。
  • mvn dependency:sources: 下載項目依賴項的源代碼。
  • mvn dependency:resolve: 解析項目的依賴項並將它們安裝到本地庫。
  • mvn dependency:purge-local-repository: 刪除本地仓库中所有解析過的依賴項。

你可以在項目的pom.xml文件中指定依賴項。例如,你可以使用以下代碼在項目中添加一個依賴項:

<dependencies>
  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.10</version>
  </dependency>
</dependencies>

在這種情況下,Maven將會在運行mvn compilemvn package指令時自動解析和安裝這個依賴項。

你還可以使用<exclusions>元素來排除特定的依賴項,或者使用<scope>元素來控制依賴項的作用域。

此外,Maven依賴關係管理插件還提供了一些其他功能,如:

  • mvn dependency:analyze: 分析項目依賴項並提供有關未使用或過期依賴項的建議。
  • mvn dependency:go-offline: 將所有依賴項下載到本地倉庫,以便在沒有網絡連接的情況下運行Maven指令。
  • mvn dependency:resolve-plugins: 解析項目使用的Maven插件並將它們安裝到本地倉庫。

你可以在Maven官方文檔中了解更多有關依賴關係管理插件的信息:https://maven.apache.org/plugins/maven-dependency-plugin/

此外,你還可以使用Maven中央倉庫查找可用的依賴項:https://search.maven.org/

希望這些信息能幫助你了解Maven依賴關係管理插件的用法。

關於作者

卡哥
卡哥
我是Oscar (卡哥),前Yahoo Lead Engineer、高智商同好組織Mensa會員,超過十年的工作經驗,服務過Yahoo關鍵字廣告業務部門、電子商務及搜尋部門,喜歡彈吉他玩音樂,也喜歡投資美股、虛擬貨幣,樂於與人分享交流!

如果對文章內容有任何問題,歡迎在底下留言讓我知道。
如果你喜歡我的文章,可以按分享按鈕,讓更多的人看見我的文章。