MAVEN利器:一文帶你了解MAVEN以及如何配置

前言:

強大的構建工具——Maven。作為Java生態系統中的重要組成部分,Maven為開發人員提供了一種簡單而高效的方式來構建、管理和發布Java項目。無論是小型項目還是大型企業級應用,Maven都能幫助開發人員輕松處理依賴管理、編譯、測試和部署等任務。

?

文章目錄

前言:

?maven介紹:

maven的結構:

為什么需要maven?

如何配置maven?

總結:


?maven介紹:

Maven是一個流行的Java構建工具和項目管理工具,由Apache軟件基金會開發和維護。它為開發人員提供了一個簡單而強大的方式來構建、管理和發布Java項目。Maven基于項目對象模型(Project Object Model,POM)的概念,通過一個XML文件將項目的依賴關系、構建配置和其他元數據進行描述。

Maven的主要功能包括依賴管理項目構建測試和部署。通過聲明項目的依賴關系,Maven可以自動下載所需的庫文件,并管理它們的版本。它使用約定的目錄結構來管理項目代碼、資源文件和配置文件,簡化了項目的組織和維護。Maven還提供了一套強大而靈活的插件系統,可以擴展工具的功能。

maven的結構:

Maven的結構由中央倉庫和私有倉庫組成。

  1. 中央倉庫:中央倉庫是Maven的官方倉庫,存儲了大量的開源Java庫和插件。它是默認的倉庫,當Maven構建項目時,Maven會自動從中央倉庫下載項目所需的依賴庫。中央倉庫具有廣泛的覆蓋范圍,包含了許多常見的開發庫和工具,例如JUnit、Log4j等。

  2. 私有倉庫:私有倉庫是由開發者或組織自行管理的倉庫,在其中存儲特定項目或機構的特定依賴庫和插件。私有倉庫允許開發人員將自己的庫和插件上傳到該倉庫,并共享給團隊成員或其他開發者使用。

Maven使用坐標(Coordinates)來標識依賴庫和插件。坐標包括組織(Group)、名稱(Artifact)、版本(Version)等信息,用于在倉庫中唯一標識一個庫或插件。

當Maven構建項目時,它會根據項目的POM文件中的依賴配置,從中央倉庫或私有倉庫下載所需的依賴庫和插件。如果某個依賴在本地倉庫中不存在,則Maven會自動從遠程倉庫下載,并緩存在本地倉庫中供后續使用。

私有倉庫通常用于存儲內部開發的庫、第三方商業庫或特定版本的庫等。為了使用私有倉庫中的依賴庫,開發人員需要在項目的POM文件中配置私有倉庫的地址。

為什么需要maven?

  1. 依賴管理:Maven能夠自動解決項目的依賴關系,并管理它們的版本。它可以自動下載和更新所需的庫文件,簡化了項目的依賴管理過程。

  2. 項目構建:Maven提供了一套標準化的構建生命周期和約定的目錄結構,使得項目構建過程更加簡潔、標準和可重復。開發人員只需定義好項目的POM文件,Maven就可以自動執行所需的構建任務。

  3. 插件生態系統:Maven擁有龐大的插件生態系統,可以擴展工具的功能。開發人員可以通過插件來執行各種任務,如代碼檢查、測試覆蓋率分析、靜態分析等,從而提高項目的質量和穩定性。

  4. 團隊協作:Maven使用標準化的配置文件和依賴管理機制,簡化了團隊協作的難度。開發人員可以共享和重用項目的配置和依賴信息,提高團隊開發效率。

  5. 跨平臺性:由于Maven是基于Java的工具,因此它具有很好的跨平臺性。開發人員可以在不同的操作系統上使用Maven進行項目構建和管理,如Windows、Mac和Linux等。

  6. 社區支持:Maven是一個開源項目,擁有龐大的社區支持。開發人員可以從社區中獲取豐富的文檔、教程和解決方案,解決問題和提升技能。

如何配置maven?

1.首先我們要在官網下載好maven壓縮包:Maven – 下載 Apache Maven

?windows的就下載紅色箭頭的這個版本

?下載之后進行解壓縮我們就可以得到這樣一個文件:

  • bin目錄包含了執行Maven命令的可執行文件,允許你在命令行中運行Maven任務。
  • boot目錄包含了Maven的啟動類加載器和相關文件,它們幫助Maven正確加載和啟動。
  • conf目錄包含了Maven的配置文件,你可以在這里配置Maven的行為和設置。
  • lib目錄包含了Maven的依賴庫文件,包括各種插件和組件。

2. 對conf目錄中的setting做些許更改:

(1).添加私有倉庫地址,用來存儲庫和插件

我們一般會選擇在maven包的統計目錄下創建一個文件夾,以此文件夾的地址作為私有倉庫的地址,并添加到conf文件夾中的setting中

隨便用一個編譯器打開,這里我選擇的是VS code

在55行添加如圖所示內容,紅色框中的為自己剛才確定的私有倉庫的文件夾的地址。

(2).添加鏡像地址,以此加速從中央倉庫中下載庫和插件,這里我們采用阿里的鏡像地址

此操作仍然是在setting中

?這里我寫出來方便大家粘貼復制:

<mirror><id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>

此操作結束后,先保存輸入內容,之后再關閉編輯文件。

3.將maven內的bin包的地址復制下來,添加到PATH系統環境變量中。

?

?這么一套下來我們就成功的配置了maven到自己的計算機里面,如果想要驗證,可以在cmd界面使用

mvn -v

進行驗證

如果出現一下類似界面,就是配置成功:

總結:

Maven是一個強大的項目管理和構建工具,通過依賴管理、標準項目結構、構建生命周期和插件系統提供了高效的開發環境。配置Maven到計算機只需下載并設置環境變量,然后就可以利用其優勢,自動解決依賴、管理項目結構、執行構建任務和添加插件。通過使用Maven,開發人員可以專注于業務開發,提高項目的可維護性和可靠性,無論項目規模大小都是有價值的工具。

如果我的內容對你有幫助,請點贊,評論,收藏。創作不易,大家的支持就是我堅持下去的動力!

?

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

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

相關文章

YOLOV7改進:加入RCS-OSA模塊,提升檢測速度

1.該文章屬于YOLOV5/YOLOV7/YOLOV8改進專欄,包含大量的改進方式,主要以2023年的最新文章和2022年的文章提出改進方式。 2.提供更加詳細的改進方法,如將注意力機制添加到網絡的不同位置,便于做實驗,也可以當做論文的創新點。 2.漲點效果:RCS-OSA模塊更加輕量化,有效提升檢…

Spring Boot業務代碼中使用@Transactional事務失效踩坑點總結

1.概述 接著之前我們對Spring AOP以及基于AOP實現事務控制的上文&#xff0c;今天我們來看看平時在項目業務開發中使用聲明式事務Transactional的失效場景&#xff0c;并分析其失效原因&#xff0c;從而幫助開發人員盡量避免踩坑。 我們知道 Spring 聲明式事務功能提供了極其…

uniapp條件編譯

uniapp條件編譯 uni-app 將已經將可以跨平臺兼容處理的組件及 API 等進行了封裝&#xff0c;但是部分平臺的特性無法跨平臺。 由此&#xff0c;uni-app 提供了條件編譯的方案&#xff0c;來處理不同平臺的特定或差異。 寫法 #ifdef&#xff1a; 僅在某平臺存在#ifndef&#xf…

Kafka 01——Kafka的安裝及簡單入門使用

Kafka 01——Kafka的安裝及簡單入門使用 1. 下載安裝1.1 JDK的安裝1.2 Zookeeper的安裝1.2.1 關于Zookeeper版本的選擇1.2.2 下載、安裝Zookeeper 1.3 kafka的安裝1.3.1 下載1.3.2 解壓1.3.3 修改配置文件 2. 啟動 kafka2.1 Kafka啟動2.2 啟動 kafka 遇到的問題2.2.1 問題12.2.…

Python愛心光波

文章目錄 前言Turtle入門簡單案例入門函數 愛心光波程序設計程序分析 尾聲 前言 七夕要來啦&#xff0c;博主在閑暇之余創作了一個愛心光波&#xff0c;感興趣的小伙伴們快來看看吧&#xff01; Turtle入門 Turtle 是一個簡單而直觀的繪圖工具&#xff0c;它可以幫助你通過簡…

面試筆記:Android 架構崗,一次4小時4面的體驗

作者&#xff1a;橘子樹 此次面試一共4面4小時&#xff0c;中間只有幾分鐘間隔。對持續的面試狀態考驗還是蠻大的。 關于面試的心態&#xff0c;保持悲觀的樂觀主義心態比較好。面前做面試準備時保持悲觀&#xff0c;盡可能的做足準備。面后積極做復盤&#xff0c;樂觀的接受最…

基于MIV的神經網絡變量篩選

1.案例背景 一般神經網絡中所包含的網絡輸人數據是研究者根據專業知識和經驗預先選擇好的,然而在許多實際應用中,由于沒有清晰的理論依據,神經網絡所包含的自變量即網絡輸入特征難以預先確定,如果將一些不重要的自變量也引入神經網絡,會降低模型的精度,因此選擇有意義的自變量特…

ECS服務器安裝docker

? 為了安裝并配置 Docker &#xff0c;你的系統必須滿足下列最低要求&#xff1a; 64 位 Linux 或 Windows 系統 如果使用 Linux &#xff0c;內核版本必須不低于 3.10 能夠使用 sudo 權限的用戶 在你系統 BIOS 上啟用了 VT&#xff08;虛擬化技術&#xff09;支持 on your s…

大數據課程I4——Kafka的零拷貝技術

文章作者郵箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;廣東惠州 ▲ 本章節目的 ? 掌握Kafka的零拷貝技術&#xff1b; ? 了解常規的文件傳輸過程&#xff1b; 一、常規的網絡傳輸原理 表面上一個很簡單的網絡文件輸出的過程&#xff0c;在OS底層&…

【java】設計模式——單例模式

單例模式要點&#xff1a; 一個類只需要一個實例化對象&#xff1b;必須自行創建實例&#xff1b;必須自行向整個系統提供這個實例 實現&#xff1a; 只提供私有構造方法&#xff1b;有一個該類的靜態私有對象&#xff1b;提供一個靜態公有方法用于創建、獲取靜態私有對象&…

iOS_crash文件的獲取及符號化(解析)

文章目錄 1. 使用 symbolicatecrash 解析 .ips 文件&#xff1a;2. 使用 CrashSymbolicator.py 解析 ips 文件3. 使用 atos 解析 crash 文件4. Helps4.1 .ips 文件獲取4.2 .crash 文件獲取4.3 獲取 .dSYM 和 .app 文件4.4 使用 dwarfdump 查詢 uuid 5. Tips6. 總結 1. 使用 sym…

一百五十七、Kettle——Kettle最新的官網下載地址(之前的Kettle官網已經無法下載,真坑)

一、目的 之前使用的是kettle8.2&#xff0c;不需要額外下載pentaho-hadoop-shims-hdp30-8.2.2018.11.00-342.jar&#xff0c;因為kettle8.2本身自帶 但是kettle8.2在Linux上安裝后建立共享資源庫又有問題&#xff0c;沒辦法&#xff0c;只能換成kettle9.3 結果&#xff0c;k…

華為網絡篇 RIPv2的基礎配置-25

難度 1復雜度1 目錄 一、實驗原理 1.1 RIP的版本 1.2 RIP的路由更新方式 1.3 RIP的計時器 1.4 RIP的防環機制 二、實驗拓撲 三、實驗步驟 四、實驗過程 總結 一、實驗原理 RIP&#xff08;Routing Information Protocol&#xff0c;路由信息協議&#xff09;&am…

微服務概述-7

Shiro 框架 Shiro 是一個用于 Java 應用程序的安全框架。它提供了身份驗證、授權、加密和會話管理等功能&#xff0c;可以幫助開發人員構建安全可靠的應用程序。 Java 中針對權限管理常見的有 2 個著名的框架&#xff1a;spring security 和 shiro shiro 基本概念 credentia…

機器學習筆記 - 基于C++的??深度學習 二、實現卷積運算

一、卷積 卷積是信號處理領域的老朋友。最初的定義如下 在機器學習術語中: I(…)通常稱為輸入 K(…)作為內核,并且 F(…)作為給定K的I(x)的特征圖。 慮多維離散域,我們可以將積分轉換為以下求和 對于二維數字圖像,我們可以將其重寫為: <

編程練習(1)

目錄 一.選擇題 第一題&#xff1a; 第二題&#xff1a; 第三題&#xff1a; 第四題&#xff1a; 第五題&#xff1a; ?編輯 二.編程題 第一題&#xff1a; 第二題&#xff1a; 1.暴力方法&#xff1a; 2.數組法&#xff1a; 一.選擇題 第一題&#xff1a; 解析&…

【vue】簡潔優雅的火花線、趨勢線

來由 在github發現個好看易用的vue趨勢線組件&#xff0c;特此記錄。 效果 趨勢圖生成后效果如上&#xff0c;線條為漸變色&#xff0c;可設置是否平滑。具體線條走勢&#xff0c;根據數據動態生成。 使用 安裝 npm i vuetrend -S 引入 import Vue from "vue"…

MySQL性能分析之慢查詢日志查看

一、背景 MySQL的慢查詢日志是MySQL提供的一種日志記錄,他用來記錄在MySQL中響應的時間超過閾值的語句,具體指運行時間超過long_query_time(默認是10秒)值的SQL,會被記錄到慢查詢日志中。 慢查詢日志一般用于性能分析時開啟,收集慢SQL然后通過explain進行全面分析,一…

時序預測 | MATLAB實現WOA-CNN-BiLSTM鯨魚算法優化卷積雙向長短期記憶神經網絡時間序列預測

時序預測 | MATLAB實現WOA-CNN-BiLSTM鯨魚算法優化卷積雙向長短期記憶神經網絡時間序列預測 目錄 時序預測 | MATLAB實現WOA-CNN-BiLSTM鯨魚算法優化卷積雙向長短期記憶神經網絡時間序列預測預測效果基本介紹程序設計學習總結參考資料 預測效果 基本介紹 時序預測 | MATLAB實現…

Python案例|Pandas正則表達式

字符串的處理在數據清洗中占比很大。也就是說,很多不規則的數據處理都是在對字符串進行處理。Excel提供了拆分、提取、查找和替換等對字符串處理的技術。在Pandas中同樣提供了這些功能,并且在Pandas中還有正則表達式技術的加持,讓其字符串處理能力更加強大。 01、正則 正則就是…