Maven入門_簡介、安裝與配置

@ZZHow(ZZhow1024)

參考課程:

尚硅谷新版Maven教程】

[https://www.bilibili.com/video/BV1JN411G7gX]

一、Maven簡介

02_依賴管理工具

  • 解決 jar 包的規模問題
  • 解決 jar 包的來源問題
  • 解決 jar 包的導入問題
  • 解決 jar 包之間的依賴

03_構建工具

  • 我們沒有注意過的構建
    • 當我們使用 IDEA 進行開發時,構建是 IDEA 替我們做的
  • 脫離 IDE 環境仍需要構建

04_什么是Maven

Maven – Introduction

  • Maven 是一款為 Java 項目管理構建、依賴管理的工具(軟件),使用 Maven 可以自動化構建、測試、打包和發布項目,大大提高了開發效率和質量
  • Maven 就是一個軟件,掌握安裝、配置、以及基本功能(項目構建、依賴管理)的理解和使用即可
    1. 依賴管理

      Maven 可以管理項目的依賴,包括自動下載所需依賴庫、自動下載依賴需要的依賴并且保證版本沒有沖突、依賴版本管理等

    2. 構建管理

      Maven 可以管理項目的編譯、測試、打包、部署等構建過程

05_工作原理(了解)

Maven軟件工作原理模型圖

Maven 軟件工作原理模型圖

二、Maven的安裝和環境配置

Maven – Download Apache Maven

  • 安裝條件:Maven 需要本機安裝 Java 環境,必須包含 java_home 環境變量
  • 軟件安裝:無需安裝,直接解壓即可
  • 軟件結構:
    • bin:含有 Maven 的運行版本
    • boot:有 plexus-classworlds 類加載器框架
    • **conf:**含有 Maven 的核心配置文件
    • lib:含有 Maven 運行時所需要的 Java 類庫
    • LICENSE、NOTICE、README.txt:針對 Maven 版本,第三方軟件等簡要介紹
  • 環境配置
    1. 配置 MAVEN_HOME:家目錄(bin 的上一級)

    2. 配置 Path:bin 目錄

    3. 命令測試

      命令行中測試是否能正常輸出 Maven 的版本

      mvn -v
      

      Maven版本

      Maven版本

三、Maven的功能配置

apache-maven-3.8.8\conf 中的 settings.xml

  1. 配置本地倉庫地址

    	<!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>--><localRepository>D:\Repository\maven-repository</localRepository>
    
  2. 配置國內阿里鏡像(可選)

        <mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url></mirror>
    
  3. 配置 JDK 版本

        <profile><id>jdk-21</id><activation><jdk>21</jdk></activation><properties><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><maven.compiler.compilerVersion>21</maven.compiler.compilerVersion></properties></profile>
    

四、IDEA配置本地Maven軟件

IDEA配置本地Maven軟件

IDEA配置本地Maven軟件

五、概念梳理

09_Maven工程的GAVP

Maven 中的 GAVP(Groupld, Artifactld, Version and Packaging),其中前三個是必要的,而 Packaging 屬性為可選項,這四個屬性主要為每個項目在 maven 倉庫中做一個標識。

  • GVA 遵循的規則:

    1. GroupID 格式:com.{公司/BU}.業務線.[子業務線],最多 4 級

      例:com.taobao.tddl

    2. ArtifactID 格式:產品線名-模塊名。語義不重復不遺漏,先到倉庫中心去查證一下

      例:tc-client / uic-api / tair-tool / bookstore

    3. Version 版本號格式推薦:主版本號.次版本號.修訂號

      1. 主版本號:當做了不兼容的API修改,或者增加了能改變產品方向的新功能
      2. 次版本號:當做了向下兼容的功能性新增(新增類、接口等)
      3. 修訂號:修復bug,沒有修改方法簽名的功能加強,保持 API 兼容性

      例:初始 → 1.0.0 修改 bug → 1.0.1 功能調整 → 1.1.1 等

  • Packaging 定義規則:

    • 指示將項目打包為什么類型的文件,IDEA 根據 packaging 值,識別 maven 項目類型
      • 屬性為 jar(默認值),代表普通的 Java 工程,打包以后是 jar 結尾的文件
      • 屬性為 war,代表 Java 的 web 工程,打包以后 .war 結尾的文件
      • 屬性為 pom,代表不會打包,用來做繼承的父工程

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

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

相關文章

Spark(1):不依賴Hadoop搭建Spark環境

不依賴Hadoop搭建Spark環境0 概述1 單機安裝Spark1.1 下載Spark預編譯包1.2 解壓和設置1.3 配置環境變量1.4 驗證安裝2 Spark運行模式2.1 Local模式&#xff08;本地模式&#xff09;2.1.1 Spark Shell2.1.1.1 Python版的Shell2.1.1.2 Scala版的Shell2.1.2 提交獨立的Spark應用…

【ThreeJs】【自帶依賴】Three.js 自帶依賴指南

&#x1f6e0;? Three.js 輔助庫生態手冊 定位&#xff1a;覆蓋 90% 開發場景的工具選型實操指南&#xff0c;區分「入門必備」和「進階擴展」。 適用人群&#xff1a;Three.js 新手&#xff08;≥ r132 版本&#xff09;、需要規范開發流程的團隊。 1. 控制器&#xff08;Co…

Mac電腦上如何打印出字體圖標

背景 我今天打開了一個之前開發的APP&#xff0c;看到項目中用到了字體圖標&#xff0c;發現有個“面條”圖標用錯了&#xff0c;想著修改一下吧。然后用輸入法打出”面條“&#xff0c;在輸入法的彈窗中就一直往下找&#xff0c;發現并沒有出現圖標。 想著打出”面條圖標“也沒…

當AI遇上數據庫:Text2Sql.Net如何讓“說人話查數據“成為現實

一句話概括&#xff1a;還在為寫復雜SQL而頭疼&#xff1f;Text2Sql.Net讓你用自然語言就能查數據庫&#xff0c;堪稱程序員的"數據庫翻譯官"&#xff01; &#x1f3af; 引言&#xff1a;從"SQL地獄"到"自然語言天堂" 想象一下這樣的場景&…

整體設計 之 緒 思維導圖引擎 之 引 認知系統 之8 之 序 認知元架構 之4 統籌:范疇/分類/目錄/條目 之2 (豆包助手 之6)

問題Q68、我們現在僅僅分析了 認知演進 的 “進”的問題&#xff0c;通過層次結構 和 統籌 的同構約束 給出了 不同對象及其對應的操作和約束。 --這句話 你能完全理解嗎&#xff08;這意味著 完整的程序細節設計&#xff09;。 還沒有分析的還有 “演” 以及組合詞 “演進” -…

開始 ComfyUI 的 AI 繪圖之旅-Qwen-Image-Edit(十二)

文章標題一、Qwen-Image-Edit1.ComfyOrg Qwen-Image-Edit 直播回放2.Qwen-Image-Edit ComfyUI 原生工作流示例2.1 工作流文件2.2 模型下載3.3 按步驟完成工作流一、Qwen-Image-Edit Qwen-Image-Edit 是 Qwen-Image 的圖像編輯版本&#xff0c;基于20B模型進一步訓練&#xff0c…

機械制造專屬ERP:降本增效與數字轉型的關鍵

轉型升級壓力下&#xff0c;ERP系統是機械企業破局的得力助手。本文深入解析ERP的核心功能、選型要點與實施價值&#xff0c;助您精準選型&#xff0c;賦能智能制造&#xff0c;全面提升競爭力。在數字化浪潮席卷之下&#xff0c;機械制造企業正面臨提質、增效、降本的關鍵轉型…

npm / yarn / pnpm 包管理器對比與最佳實踐(含國內鏡像源配置與緩存優化)

這篇不是“誰更快”的玄學討論,而是把團隊能落地的做法一次說清:如何選型、如何統一版本、如何把鏡像與緩存配好、如何在 CI 和 Monorepo 下穩住“可重復構建”。 一、結論先說在前 單倉庫 / 以穩定為先:直接用 npm(配合 npm ci) 足夠,維護成本低,生態一等一,Node 16.1…

Python項目全面打包指南:從EXE到綠色軟件包

?? Python項目全面打包指南:從EXE到綠色軟件包 文章目錄 ?? Python項目全面打包指南:從EXE到綠色軟件包 1 打包基礎概念與工具選型 1.1 核心打包概念 1.2 工具對比與選型 2 項目環境準備與依賴管理 2.1 創建和管理虛擬環境 2.2 依賴管理最佳實踐 2.3 依賴導出與規范文件處…

JAVA:Spring Boot 集成 FFmpeg 實現多媒體處理

1、簡述 在現代 Web 應用中,音視頻處理需求越來越常見,例如:視頻轉碼、截圖、音頻提取、格式轉換等。FFmpeg 是一個功能極其強大的開源音視頻處理工具,可以幫助我們高效完成這些任務。本文將介紹如何在 Spring Boot 項目中集成 FFmpeg,并實現一些常見的應用場景。 2、為什…

推薦一款智能三防手機:IP68+天璣6300+PoC對講+夜視

在戶外探險、工業巡檢及應急通信等專業領域&#xff0c;傳統智能手機往往難以應對復雜苛刻的環境挑戰。智能三防手機憑借其堅固的機身、專業的防護能力及定制化功能&#xff0c;成為眾多行業用戶的可靠工具。本文將深入解析一款集IP68防護、天璣6300處理器、PoC公網對講及夜視等…

ego(4)---檢測B樣條軌跡的障礙物進入點與退出點

障礙物進出點檢測的作用在經過 B 樣條的控制點采樣后&#xff0c;接下來是繞障的環節&#xff0c;繞障使用的是 Astar &#xff0c;但在使用 Astar 之前&#xff0c;需要進行障礙物進出點的檢測與標記。通俗點講&#xff0c;這部分的作用就是為 Astar 繞障礙做前置準備。檢測進…

在springboot中使用mock做controller層單元測試,請求示例包括GET(帶參數)、POST(帶請求頭)、下載文件、上傳文件等

以下是SpringBoot中使用MockMvc進行Controller層單元測試的完整示例,涵蓋GET帶參數、POST帶請求頭、文件下載和文件上傳等場景: GET請求測試(帶路徑參數) @Test void testGetWithPathParam() throws Exception {mockMvc.perform(MockMvcRequestBuilders.

領碼SPARK融合平臺 · TS × Java 雙向契約:構建穩定可演進的全棧系統——落地篇|配置即契約,守衛即護欄

系列總引 本系列致力于構建可復制、可演進的低代碼平臺類型治理閉環&#xff0c;從原理到落地、AI 驅動到性能治理。落地篇聚焦工程實踐&#xff0c;通過“契約單源 → 自動生成 → 前后端守衛協同 → CI/CD 管控”的完整流水線&#xff0c;將原理篇的類型方法論落到生產環境中…

Gradio全解11——Streaming:流式傳輸的視頻應用(8)——Gemini Live API:實時音視頻連接

Gradio全解11——Streaming&#xff1a;流式傳輸的視頻應用&#xff08;8&#xff09;——Gemini Live API&#xff1a;實時音視頻連接11.8 Gemini Live API&#xff1a;實時音視頻連接11.8.1 Live API——入門1. Live API技術與功能介紹2. 選擇音頻生成架構和實施方案3. 異步發…

事務學習總結

目錄 事務四大特性 事務四種隔離級別 事務七種傳播行為 事務四大特性 原子性Atomicity 要么同時成功&#xff0c;要么同時失敗。事務一旦發生失敗就會回滾到原來最初的樣子&#xff0c;仿佛沒有發生過一樣 一致性Consistency 事務處理前后&#xff0c;數據完整性要保持一…

JavaWeb--day4--WebHttp協議Tomcat

&#xff08;以下內容全部來自上述課程及課件&#xff09; 這里maven我學過了&#xff0c;可見&#xff1a;Maven項目管理–基礎篇&#xff0c;所以跳過 SpringBootWeb 1. 需求 需求&#xff1a;基于SpringBoot的方式開發一個web應用&#xff0c;瀏覽器發起請求/hello后&…

網絡相關知識整理

負載均衡負載均衡&#xff08;Load Balancing&#xff09;是一種分布式系統技術&#xff0c;核心作用是將網絡流量、計算任務或數據請求均勻分配到多個服務器&#xff08;或資源節點&#xff09;&#xff0c;避免單個節點因負載過高而性能下降或崩潰&#xff0c;從而提升系統的…

C++(繼承和多態)

目錄 訪問權限&#xff1a; 繼承&#xff1a; 示例&#xff1a; 構造和析構順序&#xff1a; 多態&#xff1a; 示例&#xff1a; 非虛函數重寫&#xff1a; 虛函數&#xff1a; 示例&#xff1a; 純虛函數&#xff1a; 繼承是C中面向對象編程的核心特性之一&#xf…

07_Softmax回歸、損失函數、分類

1. Softmax回歸 ① Softmax回歸雖然它的名字是回歸&#xff0c;其實它是一個分類問題。2. 回歸VS分類3. Kaggle分類問題4. 回歸到分類5. 交叉熵損失6. 總結7. 損失函數 ① 三個常用的損失函數 L2 loss、L1 loss、Huber’s Robust loss。8. L2 Loss ① 藍色曲線為當y0時&#xf…