Maven下載和配置-IDEA使用


目錄

一 MAVEN

二 三個倉庫

1.?本地倉庫(Local Repository)

2.?私有倉庫(Private Repository,公司內部倉庫)

3.?遠程倉庫(Remote Repository)

依賴查找流程(優先級)

三 下載教程

四 IDEA配置全局環境


一 MAVEN

MAVEN 是一款主要用于Java 項目管理的工具,它通過標準化的項目結構、依賴管理和構建流程,幫助開發者更高效地進行項目開發、構建、測試和部署。

其核心功能體現在以下幾個方面:

  • 項目結構標準化:提供了統一的項目目錄結構,無論開發者身處何地,只要遵循 MAVEN 的規范,就能快速理解項目的組成部分,減少溝通成本。例如,源代碼放在src/main/java目錄,測試代碼放在src/test/java目錄。
  • 依賴管理:自動下載、管理項目所需的第三方庫(依賴),并處理依賴之間的傳遞關系,避免版本沖突等問題。開發者只需在配置文件(pom.xml)中聲明所需依賴的坐標(groupId、artifactId、version),MAVEN 就會從中央倉庫或指定倉庫中獲取相應的庫。
  • 構建自動化:支持編譯、測試、打包(如生成 JAR、WAR 文件)、安裝、部署等一系列構建過程的自動化執行。通過簡單的命令(如mvn clean package),就能完成從清理到打包的整個流程。

此外,MAVEN 還具有插件機制,開發者可以通過添加各種插件來擴展其功能,滿足不同項目的特定需求。它廣泛應用于 Java 開發領域,是提高項目開發效率和可維護性的重要工具。


二 三個倉庫

在 Maven 中,本地倉庫、私有倉庫(公司內部倉庫)和遠程倉庫(如 Maven 中央倉庫)構成了依賴管理的核心體系,它們的協作流程和作用如下:

1.?本地倉庫(Local Repository)

  • 位置:默認在用戶目錄下的?.m2/repository(可通過?settings.xml?中的?<localRepository>?配置修改)。
  • 作用:存儲項目下載的依賴緩存,以及本地構建生成的 jar 包(如?mvn install?會將項目打包后放入本地倉庫)。
  • 優先級:Maven 查找依賴時,首先檢查本地倉庫,如果存在則直接使用,避免重復下載。

2.?私有倉庫(Private Repository,公司內部倉庫)

  • 常見工具:如 Nexus、Artifactory 等,部署在公司內網。
  • 作用
    • 存儲公司內部開發的共享組件(如公共工具類、基礎框架),供內部項目復用。
    • 緩存遠程倉庫的依賴,避免所有開發者重復從外部倉庫下載,節省帶寬并提高速度。
    • 管理第三方非開源依賴(如某些商業庫),這些依賴無法從公共倉庫獲取。
  • 配置方式:需在項目?pom.xml?或全局?settings.xml?中配置私有倉庫地址,讓 Maven 知道從這里查找依賴。

3.?遠程倉庫(Remote Repository)

  • 最常用:Maven 中央倉庫(Central Repository:),包含大量開源項目的依賴。
  • 其他類型:第三方開源庫的專屬倉庫(如 Spring 倉庫、Google 倉庫等)。
  • 作用:提供公開的依賴資源,當本地倉庫和私有倉庫都沒有所需依賴時,Maven 會從遠程倉庫下載。

依賴查找流程(優先級)

當項目需要某個依賴時,Maven 的查找順序為:

  1. 本地倉庫?→ 若存在,直接使用;
  2. 私有倉庫?→ 若本地沒有,會請求公司私有倉庫,若存在則下載到本地倉庫并使用;
  3. 遠程倉庫?→ 若私有倉庫也沒有,會從配置的遠程倉庫(如中央倉庫)下載,并存入本地倉庫和私有倉庫(如果私有倉庫開啟緩存)。

通過這種多層倉庫結構,既能提高依賴獲取效率,又能保證公司內部資源的安全管理和復用。


三 下載教程

1.選擇官網下載(maven)

Welcome to Apache Maven – Maven

選擇阿帕奇(著名的開源框架非營利性組織)

下載解壓后:

這里需要配置conf文件夾里面的settings文件:

首先大概在50-60行左右的位置 配置一個你自己的jar倉庫地址用來保存以后下載的maven依賴對應的jar包 要創建一個倉庫文件夾所以?例如:

然后把地址放在 localRepository這個位置:

接下來配置一個遠程倉庫(這里用aliyun(阿里云鏡像))

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

一定一定不要漏或者多刪東西!!!!!!否則會導致maven到集成環境中無法加載依賴!!!

然后到這里 配置一下環境變量:

打開高級系統設置(此電腦屬性打開):

注意啊 是系統變量 當然path里面也可以直接引用 但是方便管理就這樣:

在里面創建一個這樣的

保存退出:

win + R 命令行輸入cmd 再輸入mvn -v顯示你下載的maven版本就成功了!:

2.這里是博主自己的maven 3.9.6 下載地址

http://通過網盤分享的文件:Maven安裝包 鏈接: https://pan.baidu.com/s/1Ueu3nFZcQSGytmaaYY9Z6w?pwd=c3xk 提取碼: c3xk --來自百度網盤超級會員v2的分享
?




四 IDEA配置全局環境

打開IDEA主頁面:

點擊ALL settings:

點擊Build Tools中的Maven:

第一個是maven的源路徑 選擇自己下載的

第二個是maven的配置文件,選擇源路徑對應目錄下的settings文件

第三個是maven的自己的jar倉庫,你以后配置的maven依賴jar包先從本地倉庫獲取

然后再打開 Importing和Runner 把jdk和jre換成自己的:

還有個編碼格式在Complier(編譯)里面:

全部搞定之后 你創建一個新項目(maven項目或者空項目乃至Spring項目都會有對應的maven倉庫配置):

你的項目路徑里面有個pom.xml里面包含基礎依賴:

打開是這樣的開頭

這段XML代碼定義了Maven項目的基本坐標信息:
- `<groupId>`:組織ID,標識項目所屬的組織或公司
- `<artifactId>`:項目ID,標識項目在組織中的唯一名稱
- `<version>`:版本號,SNAPSHOT表示開發中的快照版本

這三項構成了Maven項目的唯一標識:

LifeStyle指的是maven的生命周期,Plugins指的是是插件,執行生命周期的時候就會調用對應插件,然后你下載的依賴jar包會顯示在Dependencies:

你的目錄一般是以下這種:

這是一個基于 Maven 構建的 Java 項目(maven-project01)在開發工具(如 IntelliJ IDEA)中的目錄結構。?

  • java-web:是項目所在的父目錄(工作空間類的概念)。
  • .idea:是 IDEA 為項目生成的配置目錄,存儲項目的設置、歷史記錄等 IDE 相關信息。
  • maven-project01:是具體的 Maven 項目模塊。
    • src:源代碼目錄,遵循 Maven 約定,分為?main(主代碼)和?test(測試代碼)兩部分。
      • main:存放項目的主要代碼。
        • java:用于存放 Java 源代碼文件,開發人員編寫的業務邏輯、類等都放在這里。
        • resources:存放項目的資源文件,比如配置文件(.properties.xml?等)、靜態資源等。
      • test:存放測試相關的代碼。
        • java:存放 Java 測試代碼,比如單元測試類,用于驗證?main/java?中代碼的正確性。
        • com.itheima:是測試代碼中的包名,用于組織測試類,通常和主代碼的包結構對應,方便管理。
    • target:Maven 構建項目時生成的輸出目錄,編譯后的字節碼文件、打包生成的 JAR/WAR 文件等都會放在這里。
    • pom.xml:Maven 項目的核心配置文件,用于定義項目的坐標(groupId、artifactId、version)、依賴(引入其他庫)、構建插件等,Maven 依據此文件進行項目的構建、依賴管理等操作。

到這里 基本就可以構建你的maven項目了

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

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

相關文章

Dify實戰應用指南(上傳需求稿生成測試用例)

一、Dify平臺簡介 Dify是一款開源的大語言模型&#xff08;LLM&#xff09;應用開發平臺&#xff0c;融合了“Define&#xff08;定義&#xff09; Modify&#xff08;修改&#xff09;”的設計理念&#xff0c;通過低代碼/無代碼的可視化界面降低技術門檻。其核心價值在于幫助…

學習日志35 python

1 Python 列表切片一、切片完整語法列表切片的基本格式&#xff1a; 列表[start:end:step]start&#xff1a;起始索引&#xff08;包含該位置元素&#xff0c;可省略&#xff09;end&#xff1a;結束索引&#xff08;不包含該位置元素&#xff0c;可省略&#xff09;step&#…

Linux -- 文件【下】

目錄 一、EXT2文件系統 1、宏觀認識 2、塊組內部構成 2.1 Data Block 2.2 i節點表(Inode Table) 2.3 塊位圖&#xff08;Block Bitmap&#xff09; 2.4 inode位圖&#xff08;Inode Bitmap&#xff09; 2.5 GDT&#xff08;Group Descriptor Table&#xff09; 2.6 超…

谷歌手機刷機和面具ROOT保姆級別教程

#比較常用的谷歌輸入root面具教程,逆向工程師必修課程# 所需工具與材料清單 真機設備 推薦使用 Google Pixel 4 或其他兼容設備&#xff0c;確保硬件支持刷機操作。 ADB 環境配置 通過安裝 Android Studio 自動配置 ADB 和 Fastboot 工具。安裝完成后&#xff0c;需在系統環境…

平衡二叉搜索樹 - 紅黑樹詳解

文章目錄一、紅黑樹概念引申問題二、紅黑樹操作一、紅黑樹概念 紅黑樹是一棵二叉搜索樹&#xff0c;它在每個節點上增加了一個存儲位用來表示節點顏色(紅色或者黑色)&#xff0c;紅黑樹通過約束顏色&#xff0c;可以保證最長路徑不超過最短路徑的兩倍&#xff0c;因而近似平衡…

從0開始跟小甲魚C語言視頻使用linux一步步學習C語言(持續更新)8.14

第十六天 第五十二&#xff0c;五十三&#xff0c;五十四&#xff0c;五十五和五十六集 第五十二集 文件包含 一個include命令只能指定一個被包含文件 文件允許嵌套&#xff0c;就是一個被包含的文件可以包含另一個文件。 文件名可以用尖括號或者雙引號括起來 但是兩種的查找方…

B+樹索引分析:單表最大存儲記錄數

在現代數據庫設計中&#xff0c;隨著數據量的增加&#xff0c;如何有效地管理和優化數據庫成為了一個關鍵問題。根據阿里巴巴開發手冊的標準&#xff0c;當一張表預計在三年內的數據量超過500萬條或者2GB時&#xff0c;就應該考慮實施分庫分表策略 Mysql B樹索引介紹 及 頁內儲…

三、memblock 內存分配器

兩個問題&#xff1a; 1、系統是怎么知道物理內存的&#xff1f;linux內存管理學習&#xff08;1&#xff09;&#xff1a;物理內存探測 2、在內存管理真正初始化之前&#xff0c;內核的代碼執行需要分配內存該怎么處理&#xff1f; 在Linux內核啟動初期&#xff0c;完整的內存…

Python 桌面應用形態后臺管理系統的技術選型與方案報告

下面是一份面向“Python 桌面應用形態的后臺管理系統”的技術選型與方案報告。我把假設前提→總體架構→客戶端技術選型→服務端與數據層→基礎設施與安全→交付與運維→質量保障→里程碑計劃→風險與對策→最小可行棧逐層給出。 一、前置假設 & 非功能目標 業務假設 典型…

Winsows系統去除右鍵文件顯示的快捷列表

前言&#xff1a;今天重做了電腦系統&#xff0c;安裝的是純凈版的系統。然后手動指定D盤安裝了下列軟件。&#xff08;QQ&#xff0c;迅雷&#xff0c;百度網盤&#xff0c;搜狗輸入法&#xff0c;驅動精靈&#xff09;然后我右鍵點擊桌面的軟件快捷方式&#xff0c;出現了一排…

【Go】Gin 超時中間件的坑:fatal error: concurrent map writes

Gin 社區超時中間件的坑&#xff1a;導致線上 Pod 異常重啟 在最近的項目中&#xff0c;我們遇到了因為 Gin 超時中間件&#xff08;timeout&#xff09; 引發的生產事故&#xff1a;Pod 異常退出并重啟。 問題現場 pod無故重啟&#xff0c;抓取標準輸出日志&#xff0c;問題…

數據結構:用數組實現隊列(Implementing Queue Using Array)

目錄 第1步&#xff1a;設計藍圖 (The Struct) 第2步&#xff1a;隊列的誕生 (創建與初始化) 第3步&#xff1a;狀態檢查 (判滿與判空) 第4步&#xff1a;核心操作 (入隊與出隊) 入隊 (Enqueue) 出隊 (Dequeue) 第5步&#xff1a;善后工作 (銷毀隊列) 現在&#xff0c;我…

Boost庫核心組件與應用

一、BOOST 庫簡介&#xff1a;C 開發者的 “擴展工具集” 在 C 編程領域&#xff0c;除了標準庫&#xff08;STL&#xff09;外&#xff0c;BOOST 庫是最具影響力的第三方庫之一。它由全球數百位開發者共同維護&#xff0c;包含超過 160 個高質量的組件&#xff0c;覆蓋從基礎…

機器學習 [白板推導](十二)[卡曼濾波、粒子濾波]

15. 線性動態系統&#xff08;卡曼濾波&#xff0c;Kalman Filter&#xff09; 15.1. 概述 15.1.1. 背景介紹 變量隨時間變化的系統叫做動態系統&#xff0c;其中隱變量取值離散的是隱馬爾可夫模型&#xff08;HMM&#xff09;&#xff0c;而隱變量取值連續的分為線性動態系統…

RH134 訪問網絡附加存儲知識點

1. NFS 的主要功能是什么&#xff1f;答&#xff1a;NFS是一種分布式文件系統協議&#xff0c;主要功能包括&#xff1a;允許遠程計算機通過網絡訪問共享文件。 實現文件系統在客戶端和服務器之間的透明訪問。支持文件的共享、讀取和寫入&#xff0c;使得多個 …

組合模式及優化

組合模式是一種結構型設計模式&#xff0c;其核心思想是將對象組合成樹形結構&#xff0c;以表示“部分-整體”的層次關系&#xff0c;使得用戶對單個對象和組合對象的使用具有一致性。 一、介紹 核心角色 組合模式包含以下3個關鍵角色&#xff1a; 抽象組件&#xff08;Compon…

【wmi異常】關于taskkill命令提示“錯誤:找不到” 以及無法正常獲取設備機器碼的處理辦法

記錄一下我的解決方案。 我先查閱了這篇博客&#xff1a;https://blog.csdn.net/qq_45698181/article/details/138957277 發現他寫的批處理不知怎么執行不了&#xff0c;后來問了ai又可以執行了&#xff0c;估計是csdn防盜版格式問題 這里寫一下我跟ai的對話&#xff0c;大家可…

制造裝配、倉儲搬運、快遞裝卸皆適配!MinkTec 彎曲形變傳感器助力,讓人體工學改變勞動生活

【導語】Minktec 最新實驗顯示&#xff1a;將Minktec 柔性彎曲形變傳感器FlexTail 貼于受試者背部&#xff0c;記錄 1 分鐘內從洗碗機取餐具的動作&#xff0c;結合配套的flexlib -專用Python庫分析&#xff0c;不僅量化出 “越低越傷腰” 的結論&#xff0c;更為制造裝配、物流…

Nginx蜘蛛請求智能分流:精準識別爬蟲并轉發SEO渲染服務

> 一招解決搜索引擎爬蟲無法解析現代前端框架的痛點,提升網站收錄率與SEO排名! **痛點場景**:你的網站采用Vue/React等前端框架構建,頁面內容依賴JavaScript動態渲染。搜索引擎爬蟲訪問時,只能抓取到空HTML骨架,無法獲取真實內容,導致網站收錄率低、SEO效果差。 --…

鏈表。。。

目錄 5.1 鏈表的結點 5.2 插入 5.3 鏈表長度 5.4 查找 5.5 指定位置刪除 5.6 代碼 5.1 鏈表的結點 一個結點包括&#xff1a;值和指向下一個結點的指針。 package com.qcby.鏈表;public class Node {int value;Node next;public Node(int val){valueval;}Overridepublic…