Windows安裝Maven

一、Maven 是什么?

Maven 是一個項目管理和整合工具。Maven 為開發者提供了一套完整的構建生命周期框架。開發團隊幾乎不用花多少時間就能夠自動完成工程的基礎構建配置,因為 Maven 使用了一個標準的目錄結構和一個默認的構建生命周期。

在有多個開發團隊環境的情況下,Maven 能夠在很短的時間內使得每項工作都按照標準進行。因為大部分的工程配置操作都非常簡單并且可復用,在創建報告、檢查、構建和測試自動配置時,Maven 可以讓開發者的工作變得更簡單。

Maven 能夠幫助開發者完成以下工作:構建、文檔生成、報告、依賴、SCMs、發布、分發、郵件列表

總的來說,Maven 簡化了工程的構建過程,并對其標準化。它無縫銜接了編譯、發布、文檔生成、團隊合作和其他任務。Maven 提高了重用性,負責了大部分構建相關的任務。

二、為什么要Maven

在開發中經常需要依賴第三方的包,包與包之間存在依賴關系,版本間還有兼容性問題,有時還里要將舊的包升級或降級,當項目復雜到一定程度時包管理變得非常重要。

Maven是當前最受歡迎的Java項目管理構建自動化綜合工具,類似以前Java中的Ant、node.js中的npm、dotNet中的nuget、PHP中的Composer。yum

Maven這個單詞來自于意第緒語(猶太語),意為知識的積累。

Maven提供了開發人員構建一個完整的生命周期框架。開發團隊可以自動完成項目的基礎工具建設,Maven使用標準的目錄結構和默認構建生命周期。Maven讓開發人員的工作更輕松,同時創建報表,檢查,構建和測試自動化設置。Maven簡化和標準化項目建設過程。處理編譯,分配,文檔,團隊協作和其他任務的無縫連接。 Maven增加可重用性并負責建立相關的任務。

每個Java項目的目錄結構都沒有一個統一的標準,配置文件到處都是,單元測試代碼到底應該放在那里也沒有一個權威的規范。

因此,我們就要用到Maven(使用Ant也可以,不過編寫Ant的xml腳本比較麻煩)----一個項目管理工具。

Maven主要做了兩件事:

  1. 統一開發規范與工具

  2. 統一管理jar包

如果沒有Maven,你可能不得不經歷下面的過程:

1 如果使用了spring,去spring的官網下載jar包;如果使用hibernate,去hibernate的官網下載Jar包;如果使用Log4j,去log4j的官網下載jar包.....

2 當某些jar包有依賴的時候,還要去下載對應的依賴jar包

3 當jar包依賴有沖突時,不得不一個一個的排查

4 執行構建時,需要使用ant寫出很多重復的任務代碼

5 當新人加入開發時,需要拷貝大量的jar包,然后重復進行構建

6 當進行測試時,需要一個一個的運行....檢查有了Maven,它提供了三種功能:

  • 依賴的管理:僅僅通過jar包的幾個屬性,就能確定唯一的jar包,在指定的文件pom.xml中,只要寫入這些依賴屬性,就會自動下載并管理jar包。

  • 項目的構建:內置很多的插件與生命周期,支持多種任務,比如校驗、編譯、測試、打包、部署、發布...

  • 項目的知識管理:管理項目相關的其他內容,比如開發者信息,版本等等。官網:Maven – Welcome to Apache Maven

三、Maven安裝配置

想要安裝 Apache Maven 在Windows 系統上, 需要下載 Maven 的 zip 文件,并將其解壓到你想安裝的目錄,并配置 Windows 環境變量。

所需工具 :

  1. JDK 1.8

  2. Maven 3.3.3

  3. Windows 7 +

注:Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上

1. JDK 和 JAVA_HOME

確保已安裝JDK,并 “JAVA_HOME” 變量已加入到 Windows 環境變量。

操作要以按上面數字順序,在這個教程中,安裝的 JDK 是 JDK1.8,為了方便學習,建議你也安裝使用 JDK1.8。

2. 下載Apache Maven

訪問 Maven官方網站,打開后找到下載鏈接,如下:

下載 Maven 的 zip 文件,將它解壓到你要安裝 Maven 的文件夾。

假設你解壓縮到文件夾 – D:\Program Files (x86)\apache-maven-3.9.5

注意:在這一步,只是文件夾和文件,安裝不是必需的。

3. 添加MAVEN_HOME

添加MAVEN_HOME 環境變量到 Windows 環境變量,并將其指向你的 Maven 文件夾。

4. 添加到環境變量 - PATH

更新 PATH 變量,添加 Maven bin 文件夾到 PATH 的最后,如: %M2_HOME%\bin, 這樣就可以在命令中的任何目錄下運行 Maven 命令了。

5. 驗證

完成,以驗證它,執行 mvn –version 在命令提示符下,如下圖輸出結果:

C:\Users\Administrator>mvn -version

如果你看到類似消息,說明 Apache Maven 在 Windows 上已安裝成功。

四、Maven 阿里云(Aliyun)倉庫

Maven 倉庫默認在國外, 國內使用難免很慢,我們可以更換為阿里云的倉庫。

修改 maven 根目錄下的 conf 文件夾中的 settings.xml 文件,在 mirrors 節點上,添加內容如下:

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共倉庫</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213522.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213522.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213522.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AirServer Mac7.27中文破解2024最新圖文安裝激活教程含許可證

AirServer Mac 7.27中文破解是一款便捷式投屏軟件&#xff0c;它的主要功能在于實時地將移動設備上的圖像畫面內容投放到電腦設備上&#xff0c;讓電腦成為iPad、iPhone等iOS系統設備的大屏顯示器。 在設備之間建立局域網內的信號發送與接收通道&#xff0c;確保數據可以穩定安…

pytorch 常用api筆記

view_as()函數 函數定義&#xff1a;view_as(tensor) [參數為一個Tensor張量] 該函數的作用是將調用函數的變量&#xff0c;轉變為同參數tensor同樣的形狀。 例子 data1 [[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 0], [10, 11]]] t1 torch.Tensor(data1).long() # size2…

【解刊】IEEE(trans),1區TOP,CCF-B,審稿國人友好,最快僅1個月錄用!值得收藏~

計算機類 ? 好刊解讀 今天小編帶來IEEE旗下計算機領域高分好刊&#xff0c;CCF-B類推薦的期刊解讀&#xff0c;期刊審稿快&#xff0c;投稿友好&#xff0c;如您有投稿需求&#xff0c;可作為重點關注&#xff01;后文有相關領域真實發表案例&#xff0c;供您投稿參考~ 01 期…

1,使用IDLE開啟我們第一個Python程序

前面我們已經安裝好了Python&#xff0c;安裝了Python后&#xff0c;他會自動幫我們安裝一個IDLE。IDLE是一個Python自帶的非常簡潔的集成開發環境&#xff08;IDE&#xff09;。他是一個Python Shell&#xff0c;我們可以利用Python Shell與Python交互。下面我們就利用IDLE開發…

常用的調試方法(段錯誤產生原因)

C 語言中常用的調試技巧和 demo C語言中常用的調試方法 打印調試信息 GDB 調試器 編寫單元測試 段錯誤產生原因 初學時兩種常用的段錯誤調試方法 C 語言中常用的調試技巧和 demo 當程序員進行調試時&#xff0c;他們通常會使用一些調試語句或技巧來幫助他們理解代碼的執行過程…

跟風申請香港優才計劃的人,很容易進入騙局和被割韭菜!

跟風申請香港優才計劃的人&#xff0c;很容易進入騙局和被割韭菜&#xff01; 不得不承認一個事實就是&#xff0c;越來越多內地人正在搶占申請香港身份的份額&#xff01;就因為這個項目門檻低、投入低&#xff0c;簡單來說就是多一層身份&#xff0c;多一層福利保障。 從目前…

Pyqt python 界面代碼

1、界面拖動代碼 # 拖動 def mousePressEvent(self, event):if event.button() QtCore.Qt.LeftButton and self.isMaximized() False:self.m_flag Trueself.m_Position event.globalPos() - self.pos() # 獲取鼠標相對窗口的位置event.accept()self.setCursor(QtGui.QCur…

go - 計算CIDR的主機數量

在網絡中&#xff0c;CIDR /32 表示該地址只能用作網絡地址本身&#xff0c;不能分配給任何主機。因此&#xff0c;在計算主機數量時&#xff0c;應將 CIDR 地址按照其位掩碼長度進行區分。對于 /32 子網掩碼&#xff0c;主機數量總是為 1&#xff0c;而不是 -1。 以下是修正后…

二.ts基礎類型

ts的基礎類型包含js的基礎類型和ts獨有的基礎類型 我們一般使用[let | const | val] 變量&#xff1a;類型 值的方式聲明一個帶有類型的變量 stringlet val:string 1numberlet val:number 1boolearnlet val:boolaern falseundefindlet val:undefind undefindnulllet val:nul…

Kubernetes實戰(九)-kubeadm安裝k8s集群

1 環境準備 1.1 主機信息 iphostname10.220.43.203master10.220.43.204node1 1.2 系統信息 $ cat /etc/redhat-release Alibaba Cloud Linux (Aliyun Linux) release 2.1903 LTS (Hunting Beagle) 2 部署準備 master/與slave主機均需要設置。 2.1 設置主機名 # master h…

成都工業學院Web技術基礎(WEB)實驗五:CSS3動畫制作

寫在前面 1、基于2022級計算機大類實驗指導書 2、代碼僅提供參考&#xff0c;前端變化比較大&#xff0c;按照要求&#xff0c;只能做到像&#xff0c;不能做到一模一樣 3、圖片和文字僅為示例&#xff0c;需要自行替換 4、如果代碼不滿足你的要求&#xff0c;請尋求其他的…

使用PyTorch II的新特性加快LLM推理速度

Pytorch團隊提出了一種純粹通過PyTorch新特性在的自下而上的優化LLM方法&#xff0c;包括: Torch.compile: PyTorch模型的編譯器 GPU量化:通過降低精度操作來加速模型 推測解碼:使用一個小的“草稿”模型來加速llm來預測一個大的“目標”模型的輸出 張量并行:通過在多個設備…

成都工業學院Web技術基礎(WEB)實驗三:CSS字體等屬性使用

寫在前面 1、基于2022級計算機大類實驗指導書 2、代碼僅提供參考&#xff0c;前端變化比較大&#xff0c;按照要求&#xff0c;只能做到像&#xff0c;不能做到一模一樣 3、圖片和文字僅為示例&#xff0c;需要自行替換 4、如果代碼不滿足你的要求&#xff0c;請尋求其他的…

Oracle 慢查詢排查步驟

1. Oracle 慢查詢排查步驟 1.1. 前言 記錄一次 Oracle 慢查詢的排查過程 , 便于以后直接使用。 看了一些文檔 , Oracle 中優化的方案和 Mysql 基本上是一致的 , 通常包括一下幾個方向 : 基準測試 (吞吐量): 包括 Oracle 本身吞吐量和磁盤 I/O 吞吐量 硬件分析 (資源情況): 包…

rails3 row sql example

refer: https://stackoverflow.com/questions/14824453/rails-raw-sql-example 搜索怎么在Rails3 使用row sql&#xff0c; 打開上面的鏈接&#xff0c;可以找到這樣的答案&#xff0c;如下圖&#xff1a; sql "Select * from ... your sql query here" records_ar…

Nginx的server層外層的常見配置語句的解讀

有下面的Nginx配置: worker_processes auto; worker_rlimit_nofile 51200;events {use epoll;worker_connections 51200;multi_accept on; }http {include mime.types;default_type application/octet-stream;server_names_hash_bucket_size 512;client_max_body_size 50m;cli…

推薦4個優秀的 Python 時間序列分析庫

時間序列分析在金融和醫療保健等領域至關重要&#xff0c;在這些領域&#xff0c;理解隨時間變化的數據模式至關重要。在本文中&#xff0c;我們將介紹四個主要的Python庫——statmodels、tslearn、tssearch和tsfresh——每個庫都針對時間序列分析的不同方面進行了定制。這些庫…

最長子字符串的長度 (一) - 華為OD統一考試(C卷)

OD統一考試&#xff08;C卷&#xff09; 分值&#xff1a; 100分 題解&#xff1a; Java / Python / C 題目描述 給你一個字符串 s&#xff0c;字符串s首尾相連成一個環形&#xff0c;請你在環中找出字符出現了偶數次最長子字符串的長度。 輸入描述 輸入是一串小寫字母組成的…

VS2015編譯GDAL3.2.0+opencl+C#

參考借鑒https://www.cnblogs.com/litou/p/15004877.html 參考借鑒https://www.cnblogs.com/xiaowangba/p/6313903.html 參考借鑒gdal、proj、geos、sqlite等在VS2015下編譯和配置_vs2015編譯sqlite3-CSDN博客 參考借鑒Windows下GDAL3.1.2編譯 (VS2015)_gdal windows編譯-CS…

字符串String

字符串字面量 let s "hello";變量s屬于字符串字面量&#xff0c;它們屬于硬編碼進程序的字符串值&#xff0c;屬于不可變的類型。但并不是所有字符串的值都能夠在編寫代碼時確定。 String類型 String類型會在堆上分配到自己需要的存儲空間&#xff0c;所以它能夠…