Apache_Maven

Infobox software | name = Apache Maven | logo = Apache Maven logo.svg | logo size = 220px | screenshot = | caption = | developer = Apache軟件基金會 | latest release version = 3.8.6 | latest release date = | latest preview version = | latest preview date = | operating system = 跨平臺 | programming language = Java | genre = 構建自動化 | license = Apache許可證 2.0 | website = Apache Maven ， 是一個軟件 （ 特別是Java軟件 ） 項目管理及自動構建工具 ， 由Apache軟件基金會所提供 。 Maven也可被用於構建和管理各種項目 ， 例如C # ， Ruby ， Scala和其他語言編寫的項目 。 Maven曾是Jakarta項目的子項目 ， 現爲由Apache軟件基金會主持的獨立Apache項目 。 Maven解決了軟件構建的兩方面問題 ： 一是軟件是如何構建的 ， 二是軟件的依賴關係 。 不同於Apache Ant等早期工具 ， Maven設定了構建流程的標準 ， 在此之外只需要指定例外情況 。 XML文件描述了正在構建的軟件項目 、 它對其他外部模塊和組件的依賴關係 、 構建順序 、 目錄和所需的插件 。 該文件通常有預設的目標任務 ， 例如代碼編譯和打包 。 Maven從一個或多個代碼倉庫 （ 例如Maven 2 Central Repository ） 動態地下載Java庫與Maven插件 ， 並將其存儲在本地緩存區中 。 Maven是以基於插件的架構構建的 ， 這使其能夠使用任何能用標準輸入控制的應用程序 。 Maven 2同時維護了爲C / C++ 準備的原生插件 。 儘管Gradle和sbt等替代技術並不依賴於XML ， 但他們仍然保留了Maven引入的關鍵概念 。 Apache Ivy還開發了一個專用的依賴管理器 ， 同時支持Maven倉庫 。 Apache Maven也包括對可重現構建的支持 。