JavaWeb筆記03

七、Maven

1_概述

Maven 是專門用于管理和構建 Java 項目的工具,它的主要功能有:
提供了一套標準化的項目結構
提供了一套標準化的構建流程(編譯,測試,打包,發布……)
提供了一套依賴管理機制


1.標準化的項目結構
不同 IDE 之間,項目結構不一樣,不通用
Maven 提供了一套標準化的項目結構,所有 IDE 使用 Maven 構建的項目結構完全一樣,所有 IDE 創建的 Maven 項目可以通用

2.標準化的構建流程
編譯 → 測試 → 打包 → 發布
Maven 提供了一套簡單的命令來完成項目構建

3.依賴管理
依賴管理其實就是管理你項目所依賴的第三方資源(jar 包、插件...)
Maven 使用標準的坐標配置來管理各種依賴
只需要簡單的配置就可以完成依賴管理

2_簡介

Maven 簡介
Apache Maven 是一個項目管理和構建工具,它基于項目對象模型(POM)的概念,通過一小段描述信息來管理項目的構建、報告和文檔
官網: http://maven.apache.org/

Maven 作用:
標準化的項目結構
標準化的構建流程
方便的依賴管理

Maven 模型:
項目對象模型 (Project Object Model)
依賴管理模型 (Dependency)
插件 (Plugin)

倉庫分類:
本地倉庫:自己計算機上的一個目錄
中央倉庫:由 Maven 團隊維護的全球唯一的倉庫
地址:https://repo1.maven.org/maven2/
遠程倉庫 (私服):一般由公司團隊搭建的私有倉庫

當項目中使用坐標引入對應依賴 jar 包后,首先會查找本地倉庫中是否有對應的 jar 包:
如果有,則在項目直接引用;
如果沒有,則去中央倉庫中下載對應的 jar 包到本地倉庫。

還可以搭建遠程倉庫,將來 jar 包的查找順序則變為:
本地倉庫 → 遠程倉庫 → 中央倉庫

3_基本使用

Maven 基本使用
Maven 常用命令
compile:編譯
clean:清理
test:測試
package:打包
install:安裝


Maven 生命周期
Maven 構建項目生命周期描述的是一次構建過程經歷經歷了多少個事件
Maven 對項目構建的生命周期劃分為 3 套
clean:清理工作
default:核心工作,例如編譯,測試,打包,安裝等
site:產生報告,發布站點等
同一生命周期內,執行后邊的命令,前邊的所有命令會自動執行

4_IDEA配置Maven

IDEA 配置 Maven 環境
1.選擇 IDEA 中 File --> Settings
2.搜索 maven
3.設置 IDEA 使用本地安裝的 Maven,并修改配置文件路徑

Maven 坐標詳解
什么是坐標?
Maven 中的坐標是資源的唯一標識
使用坐標來定義項目或引入項目中需要的依賴
Maven 坐標主要組成
groupId:定義當前 Maven 項目隸屬組織名稱(通常是域名反寫,例如:com.itheima)
artifactId:定義當前 Maven 項目名稱(通常是模塊名稱,例如 order-service、goods-service)
version:定義當前項目版本號

<groupId>com.itheima</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>


IDEA 創建 Maven 項目
1.創建模塊,選擇 Maven,點擊 Next
2.填寫模塊名稱,坐標信息,點擊 finish,創建完成
3.編寫 HelloWorld,并運行

?我也不知道為什么只能用1.8才能創建maven模塊

IDEA 導入 Maven 項目
選擇右側 Maven 面板,點擊 + 號
選中對應項目的 pom.xml 文件,雙擊即可
如果沒有 Maven 面板,選擇
View → Appearance → Tool Window Bars

5_依賴管理&依賴范圍

添加jar包自動生效

使用坐標導入 jar 包
1.在 pom.xml 中編寫 <dependencies> 標簽
2.在 <dependencies> 標簽中使用 <dependency>:引入坐標
3.定義坐標的 groupId,artifactId,version
4.點擊刷新按鈕,使坐標生效


使用坐標導入 jar 包 - 自動導入
選擇 IDEA 中 File --> Settings
在彈出的面板中找到 Build Tools
選擇 Any changes,點擊 ok 即可生效


使用坐標導入 jar 包 - 快捷方式
在 pom.xml 中按 alt + insert,選擇 Dependency
在彈出的面板中搜索對應坐標,然后雙擊選中對應坐標
點擊刷新按鈕,使坐標生效

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

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

相關文章

AIGC自我介紹筆記

AIGC&#xff08;人工智能生成內容&#xff09;項目是指利用人工智能技術&#xff08;如深度學習、生成對抗網絡、大規模預訓練模型等&#xff09;自動生成文本、圖像、音頻、視頻等多模態內容的系統性工程。這類項目通過算法模型學習海量數據&#xff0c;實現內容的自動化、個…

從docker-compose快速入門Docker

不得不提容器化技術是未來的一個發展方向&#xff0c;它徹底釋放了計算虛擬化的威力&#xff0c;極大提高了應用的運行效率&#xff0c;降低了云計算資源供應的成本&#xff01;使用 Docker&#xff0c;可以讓應用的部署、測試和分發都變得前所未有的高效和輕松&#xff01;無論…

【BERT_Pretrain】Wikipedia_Bookcorpus數據預處理(二)

上一篇介紹了wikipedia和bookcopus數據集&#xff0c;這一篇主要講一下如何預處理數據&#xff0c;使其可以用于BERT的Pretrain任務MLM和NSP。 MLM是類似于完形填空的任務&#xff0c;NSP是判斷兩個句子是否連著。因此數據預處理的方式不同。首先&#xff0c;拿到原始數據集&a…

人工智能-基礎篇-14-知識庫和知識圖譜介紹(知識庫是基石、知識圖譜是增強語義理解的知識庫、結構化數據和非結構化數據區分)

在人工智能&#xff08;AI&#xff09;領域&#xff0c;知識圖譜&#xff08;Knowledge Graph&#xff09;和知識庫&#xff08;Knowledge Base&#xff09;是兩種重要的知識表示和管理技術&#xff0c;它們的核心目標是通過結構化的方式組織信息&#xff0c;從而支持智能系統的…

7月1日作業

思維導圖 一、將當前的時間寫入到time.txt的文件中&#xff0c;如果ctrlc退出之后&#xff0c;在再次執行支持斷點續寫 1.2022-04-26 19:10:20 2.2022-04-26 19:10:21 3.2022-04-26 19:10:22 //按下ctrlc停止&#xff0c;再次執行程序 4.2022-04-26 20:00:00 5.2022-04-26 20:0…

DHCP中繼及動態分配

DHCP中繼 在多 VLAN 網絡中為什么不能直接用 DHCP&#xff1f; 比如你現在的網絡是&#xff1a;PC 在 VLAN10、VLAN20 中DHCP服務器&#xff08;Router0&#xff09;在另一個網段&#xff08;比如 192.168.100.0/24&#xff09;PC 的 DHCP Discover 是廣播&#xff0c;無法跨越…

ROS 概述與環境搭建

1. ROS 簡介 1.1 ROS 誕生背景 機器人是一種高度復雜的系統性實現&#xff0c;機器人設計包含了機械加工、機械結構設計、硬件設計、嵌入式軟件設計、上層軟件設計....是各種硬件與軟件集成&#xff0c;甚至可以說機器人系統是當今工業體系的集大成者。 機器人體系是相當龐大的…

mac python3.13 selenium安裝使用

一、安裝 # 進入虛擬環境 workon xxxx pip install selenium二、安裝驅動 查詢自己瀏覽器版本 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --versionGoogle Chrome 138.0.7204.93下載對應的驅動&#xff0c;其他版本 sudo mv ~/Downloads/chromedr…

AI 開發平臺:中小企業的創新破局點在哪里?

在浙江義烏的一個小商品加工廠里&#xff0c;老板王建國最近有點煩。訂單量忽高忽低&#xff0c;原材料價格波動不定&#xff0c;他想通過數據分析提前規劃生產&#xff0c;卻苦于沒有專業的技術團隊&#xff1b;在廣東東莞的一家電子配件公司&#xff0c;業務員李娜每天要處理…

.NET 8.0 Redis 教程

一、環境準備 1. 安裝 Redis 服務器 Windows/macOS/Linux&#xff1a;使用 Docker 快速部署 bash docker run -d --name redis -p 6379:6379 redisLinux&#xff1a;直接安裝 bash sudo apt-get install redis-server sudo systemctl start redis-server2. 創建 .NET 項目 b…

2025年游戲鼠標推薦,游戲鼠標推薦,打CSGO(羅技、雷蛇、卓威、ROG、漫步者、賽睿、達爾優)

可能很多人對于游戲鼠標的了解還是不夠深&#xff0c;會有很多疑問&#xff0c;比如&#xff1a;“游戲鼠標和辦公鼠標的區別”、“游戲鼠標無線好還是有線好”等等一系列的問題&#xff0c;本文將會介紹游戲鼠標領域處于領先地位的幾個廠家&#xff1a;羅技鼠標、雷蛇鼠標、賽…

OpenCV CUDA模塊設備層-----在 GPU上高效地執行兩個uint類型值的最小值比較函數vmin2()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 OpenCV 的CUDA模塊&#xff08;cudev&#xff09; 中的一個設備端內聯函數&#xff0c;用于在GPU上高效地執行兩個uint類型值的最小值比較。 該函…

Web3與傳統網絡安全模型對比:關鍵差異解析

隨著互聯網技術的飛速發展&#xff0c;Web3的概念逐漸成為人們關注的焦點。Web3代表著一個更加去中心化、安全和用戶友好的網絡環境。與傳統的網絡安全模型相比&#xff0c;Web3在多個方面展現出了其獨特的優勢和特點。本文將深入探討Web3與傳統網絡安全模型之間的關鍵差異。 …

FLAN:微調語言模型是 Zero-Shot 學習者

摘要 本文探討了一種簡單的方法來提升語言模型的零樣本學習能力。我們展示了指令微調——即在通過指令描述的數據集集合上對語言模型進行微調——能夠顯著提升模型在未見任務上的零樣本表現。 我們以一個擁有1370億參數的預訓練語言模型為基礎&#xff0c;在60多個通過自然語…

springboot中的事件發布和監聽

事件定義 創建一個自定義事件類 UserLoginEvent&#xff0c;繼承 ApplicationEvent&#xff0c;用于攜帶用戶登錄信息&#xff1a; import org.springframework.context.ApplicationEvent;public class UserLoginEvent extends ApplicationEvent { //關鍵點1&#xff1a;ext…

“開源雙軌架構+40億參數擴散Transformer——ComfyUI-OmniGen2本地部署教程:重塑多模態生成的效率邊界!

一、簡介 OmniGen2 是由北京智源研究院最新推出的一個強大、高效的開源多模態生成模型。與 OmniGen v1 不同&#xff0c;OmniGen2 具有兩種不同的文本和圖像模態解碼路徑&#xff0c;利用非共享參數和解耦的圖像分詞器。OmniGen2 在四個主要功能方面具有競爭力的性能&#xff…

Java的SpringAI+Deepseek大模型實戰之會話記憶

文章目錄 背景項目環境實現步驟第一步、定義會話存儲方式方式一、定義記憶存儲ChatMemory方式二、注入記憶存儲ChatMemory 第二步、配置會話記憶方式一、老版本實現方式二、新版本實現 第三步、存儲會話信息 異常處理1、InMemoryChatMemory 無法解析 背景 前兩期【環境搭建】和…

RDS MySQL vs. Aurora MySQL:高需求工作負載的終極遷移指南

在 AWS 上&#xff0c;開發團隊最常見且關鍵的決策之一就是選擇合適的關系型數據庫。通常&#xff0c;討論會從 RDS for MySQL 這個可靠且熟悉的“老黃牛”開始。但很快&#xff0c;就會有人提到一個更強大、更云原生的選項&#xff1a;Aurora MySQL。 也許&#xff0c;就像最…

使用倉頡編程語言是一種怎樣的體驗?

2024年6月21日下午&#xff0c;華為終端BG軟件部總裁龔體先生在華為開發者大會主題演講《鴻蒙原生應用&#xff0c;全新出發&#xff01;》中向全球開發者介紹了華為自研倉頡編程語言&#xff0c;并發布了HarmonyOS NEXT倉頡語言開發者預覽版。這是華為首次公開倉頡編程語言。 …

Qt Creator自定義控件開發流程

Qt Creator自定義控件開發流程 在 Qt 5.9 Creator 中開發自定義控件的完整流程如下&#xff0c;分為設計、實現、集成和測試四個階段&#xff1a; 1. 創建自定義控件類 (1) 新建類文件 右鍵項目 → 添加新文件 → C Class基類選擇 QWidget 或現有控件&#xff08;如 QPushBu…