簡體   English   中英

無法理解Maven的全部內容,看看正式的定義

[英]Couldn't understand what Maven is all about, looking at the formal definitions

我是Java的初學者,最近嘗試使用一些現有的庫,突然間Maven介於兩者之間。 我不知道在Apache網站上閱讀項目頁面,maven是什么。

它需要什么? 我正在使用一些庫,要求我安裝Maven和一些進一步的步驟,但我不知道它是什么。 我看到的一些地方,它是用於自動化構建過程,但我也可以通過NetBeans輕松完成。

任何簡單的解釋都將受到高度贊賞。

編輯:非常感謝你們!

還請澄清,如果我使用的庫包含.pom文件,這對我來說意味着什么。 我正在使用一些庫來構建一個Web應用程序,其中大多數庫包含.pom文件。 它告訴我做什么? 它會迫使我使用Maven嗎?

Maven是一種自以為是的構建工具和依賴管理系統。

  • 構建工具 :它處理將.java文件轉換為.class文件的過程,可能會轉換您的資源並打包.jar.war.ear.tar.gz.zip文件。 在這方面,它類似於Apache Ant
  • 依賴關系管理 :它處理依賴關系:它下載所需的庫,確保下載傳遞依賴關系(即依賴關系的依賴關系),處理依賴關系中的沖突版本號(通常通過嘗試查找符合所有要求的庫)。 在這方面,它與Apache Ivy類似。
  • 自以為是 :它帶有一些默認配置,用於指定項目的布局和構建過程。 雖然可以進行廣泛的定制,但這種定制很難做到。 遵循建議的默認值通常可以更輕松地使用Maven。

maven中的一個關鍵概念是POM,其中包含Maven對您項目的了解。 它位於pom.xml文件中。 該文件也是項目使用Maven的最佳指示。

Maven與Ant類似:它是一個幫助您自動編譯,打包和部署應用程序的工具。

由於大多數Java應用程序都依賴於第三方JAR,因此它也類似於Ivy,因為它管理從中心位置獲取JAR依賴項,包括JAR和它們依賴的任何JAR。

就個人而言,我發現Maven很重,很難理解。 我不喜歡它為我的項目強制要求特定目錄布局的方式。 據我所知,偏離他們的標准休息Maven。

我總是發現Ant很輕松,易於理解並且可以快速運行。 我建議先嘗試使用Ant,然后在處理Maven之前解決它。 即使你不能吞下Maven,你也會有一個工作點,可以很好地為你服務。

加入@Jigar Jishi的答案:

我一直在輕松地探索Maven概念,據我所知,這是一套完整的有效構建和包裝管理工具。 它利用基於XML的文件(在這個意義上類似於ANT)來跟蹤事物。

Maven在這里是一個熱門話題,我猜其他軟件開發人員,有些愛好者會向每個相關的問題提出Maven,而且有些仇恨者會抓住每個機會對Maven進行一次攻擊。 我的觀點介於兩者之間,我發現Maven對我的項目來說不必要地復雜和復雜,因此發現花時間和精力去學習是不值得的。

如果它對你的項目絕對至關重要,那么我說試一試,但是不要中途做。 這很可能需要花費大量的時間和精力才能把事情做好。 但是,如果你管理的話,你最終可能會感到高興.. :)

Maven是一個構建工具(一種工具,可以將您的應用程序打包成一些類似(.jar,.war,.ear)的構建。

但它不僅僅是構建工具,它支持模塊化,傳遞依賴的東西等等。

我建議你看一下Sonatype WebSite( 這里 )。

這家公司非常牽連Maven世界;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM