Maven簡介與安裝

来源:http://www.cnblogs.com/ShadowMoon/archive/2017/03/14/6539990.html
-Advertisement-
Play Games

Maven是跨平臺的項目管理工具,它是開源的,主要服務基於java平臺的項目構建、依賴管理和項目信息管理。 Maven作為一個構建工具非常的強大,能夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署。我們不需要也不應該一遍遍的輸入命令,一次次的點擊滑鼠,我們要做的是使用Maven配 ...


  Maven是跨平臺的項目管理工具,它是開源的,主要服務基於java平臺的項目構建、依賴管理和項目信息管理。

  Maven作為一個構建工具非常的強大,能夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署。我們不需要也不應該一遍遍的輸入命令,一次次的點擊滑鼠,我們要做的是使用Maven配置好項目,輸入簡單的命令(maven clean install),Maven就會幫我們處理好那些繁瑣的任務。

  Maven作為構建工具的其中一個優點,就是能幫助我們標準構建過程。在Maven之前,十個項目可能有十種構建方式;有了Maven之後,所有項目的構建命令都是簡單一致的,這極大的避免了不必要的學習成本,而且有利於促進項目團隊的標準化。

  Maven是跨平臺的,這就意味著不管是在Windows上,還是Linux或Mac上,都可以使用相同的命令。

  說了這麼多,那我們接下來看看,如何在我們電腦上裝上Maven

  1、在Windows上安裝

  1.1.檢查JDK安裝

  1.2.下載maven壓縮包

  1.3.環境變數配置

 

   首先檢查JAVA_HOME環境變數和java命令,具體操作這裡不概述,預設已安裝好jdk。由於Maven 3.0是相當成熟的產品,所以建議安裝 3 以上的版本。下載地址:http://maven.apache.org/download.html , 下載 apache-maven-3.0-bin.zip,如果對源代碼感興趣,可下載  apache-maven-3.0-src.zip

  

 安裝步驟:

 1)將壓縮包解壓到指定文件 如 D:/mavenroot/apache-maven-3.0

 2)配置環境變數 

     a.在系統變數中新建名為 M2_HOME變數,值為Maven安裝目錄 D:/mavenroot/apache-maven-3.0

     b.找到變數Path,在末尾加上 ;%M2_HOME%\bin 。 註: ;位分隔符,與前面變數隔開

     c.檢查安裝,在cmd中先輸入: echo %M2_HOME% 找到maven安裝路徑,然後使用命令: mvn -v;成功如下圖所示:

  

到這裡Windows上,maven的安裝,就全部完成了。

  另:配置MAVEN_OPTS環境變數(非必須,但很實用)

     運行mvn命令實際也是執行了Java命令,既然是Java命令,那Java命令可用的參數,maven也同樣可用使用,這是就需要配置下MAVEN_OPTS環境變數了

     通常設置MAVEN_OPTS的值為 -Xms128m -Xms512m,因為Java預設的最大可用記憶體往往不能滿足maven運行的需要,比如項目較大時,實用maven生成站點需要占用大量的內容,如果沒有配置,很容易就會造成java.lang.OutOfMemeoryError。因此一開始推薦配置該變數。

     配置方法參照M2_HOME的配置。

     3、.m2文件夾介紹

     打開用戶目錄,window系統如:Users/xiaochong/,在這個目錄下,你可以找到名為.m2的文件夾。 預設情況下,該文件夾放置了Maven本地倉庫.m2/repository。所有Maven構建都被存儲到該倉庫中,以方便重用。

     預設情況下,~/.m2目錄下除了repository倉庫以外就沒有其他的目錄和文件,不過大多的Maven用戶會需要複製M2_HOME/conf/setting.xml文件到~/.m2/setting.xml。這是一個最佳實踐

    複製到用戶目錄的好處:

    setting.xml在M2_HOME/conf/目錄下時,是屬於全局範圍的,整台機器的所有用戶都會受到配置的影響。而在用戶目錄下只會影響到當前用戶。

     推薦複製到用戶目錄,只要是為了避免無意識的影響到系統中的其他用戶。如果有確切需求,當然也可以使用。

    除了這一因素,配置用戶範圍setting.xml文件還便於Maven升級。直接修改conf下setting.xml會導致Maven升級不便,每次升級到新版的Maven,都需要複製setting.xml文件。如果使用~/.m2目錄,就不會影響到Maven的安裝文件

 

   

 

 

  

 

 

  

  

  

  

  

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 用類歐不斷縮小規模,就能在O(T*log2n)時間內求出答案。 題解:http://blog.csdn.net/coldef/article/details/62035919 代碼: 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream ...
  • Python 沙箱逃逸是通過 eval 的安全問題來實現的一種 PWN 方法。 ...
  • 接手了一個maven管理的多模塊項目,又是javaconfig,又是spring data jpa,還算是比較新比較正規的模塊化結構吧..然後我往其中的一個模塊中新添加了一個jpa的entity,然後運行提示找不到新添加的類..倘若這不是jpa項目,倘若這不是javaconfig寫的也許就不會出現之 ...
  • select、poll、epoll三者的區別 select select最早於1983年出現在4.2BSD中,它通過一個select()系統調用來監視多個文件描述符的數組(在linux中一切事物皆文件,塊設備,socket連接等。),當select()返回後,該數組中就緒的文件描述符便會被內核修改標 ...
  • 1.數據+演算法=程式。 2.C語言程式是由一個或多個函數組成的,函數是由語句組成的,語句是由關鍵字,標識符,運算符,數據組成的;語句可分為:聲明語句,賦值語句,控制語句,函數語句,空語句。 3.#include語句是C預處理器指令,預處理器在C編譯器工作前對源代碼做預處理,即在該行位置鍵入了所包含文 ...
  • 1.貝爾實驗室的Dennis Ritchie在1972年開發了C語言,C來自於Ken Thompson的B語言。當時Ritchie正與 Thompson一起設計UNIX操作系統。 2.C是面向過程的編譯型語言,緊湊,運行速度快,精細控制能力(包括對硬體的控制),靈活。 3.C的發展方向:UNIX操作 ...
  • collection模塊是對Python的通用內置容器:字典、列表、元組和集合的擴展,它包含一些專業的容器數據類型: Counter(計數器):dict子類,用於計算可哈希性對象的個數。 OrderedDict(有序字典):dict 子類,記錄著數據成員添加的順序。 defaultdict(預設字典 ...
  • #include <cctype>(轉,歸納很好) 頭文件描述: 這是一個擁有許多字元串處理函數聲明的頭文件,這些函數可以用來對單獨字元串進行分類和轉換; 其中的函數描述: 這些函數傳入一個等價於字元串的整數作為參數,之後返回一個可以是其他字元或者一個代表布爾值的值,一個整數的0意味著假,一個與不同 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...