[英]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 。 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.