4.pom文件介紹Maven常用命令

1.pom.xml文件介紹.

1.1project標簽和modelVersion標簽介紹.

  • pom.xml文件是maven的核心文件,POM(Project Object Model,項目對象模型)定義了項目的基本信息,用于描述如何構建,聲明項目依賴;;


1.2依賴坐標介紹.

  • 依賴的坐標主要是由:groupid、artifiactId、version三部分組成,簡稱:"gav",坐標概念來自數學;

  • 坐標作用:確定資源,是資源的唯一標識。 在maven中,每個資源都是坐標,且坐標值是唯一的。如下這個坐標:

  • dependencyManagement:依賴管理器;

  • dependencies:依賴列表;

  • groupId:組織名稱。 公司,團體或者單位的標識。 這個值常使用的公司域名的反寫;

  • artifactId:項目名稱,本項目的唯一ID,一個 groupId下面可以包含多個項目,就是靠 artifactId來區分的;

  • version:版本,項目的版本號,使用三位數字組成。主版本號.次版本號.小版本號,如:.2.5。注意:版本號中有"-SNAPSHOT",表示快照版,不是穩定的版本;而 "RELEASE" 則是穩定版/發行版的意思。????

  • scope:控制 dependency 元素的使用范圍。通俗的講,就是控制 Jar 包在哪些范圍被加載和使用。常用的值有如下:

    • compile(默認):含義:compile 是默認值,如果沒有指定 scope 值,該元素的默認值為 compile。被依賴項目需要參與到當前項目的編譯,測試,打包,運行等階段,打包的時候通常會包含被依賴項目。

    • provided:被依賴項目理論上可以參與編譯、測試、運行等階段,相當于compile,但是再打包階段做了exclude(排除)的動作。適用場景:例如, 如果我們在開發一個web 應用,在編譯時我們需要依賴 servlet-api.jar,但是在運行時我們不需要該 jar 包,因為這個 jar 包已由應用服務器提供,此時我們需要使用 provided 進行范圍修飾。

    • runtime:表示被依賴項目無需參與項目的編譯,但是會參與到項目的測試和運行。與compile相比,被依賴項目無需參與項目的編譯。適用場景:例如,在編譯的時候我們不需要 JDBC API 的 jar 包,而在運行的時候我們才需要 JDBC 驅動包。

    • test:表示被依賴項目僅僅參與測試相關的工作,包括測試代碼的編譯,執行。適用場景:例如,Junit 測試。

    • system:system 元素與 provided 元素類似,但是被依賴項不會從 maven 倉庫中查找,而是從本地系統中獲取,systemPath 元素用于制定本地系統中 jar 文件的路徑。例如:

    • import:它只使用在<dependencyManagement>中,表示從其它的pom中導入dependency的配置。適用場景:模塊的繼承關系中。


1.3項目打包參數配置.

  • Maven項目打包的打包方式及生成的包名由如下內容決定:

  • packing標簽里面指定了打包的方式,有 jar、war、ear、pom等,默認的是 jar;

  • 打包方式不同,生成的包名不同:

    • 如果是通過 package命令打包,那么在 target里面生成的包名是:sping.war;

    • 如果是通過 install命令打包,會在 target里面生成一個包,包名是:sping.war,同時還會在本地倉庫的位置生成一個包,包名是:sping-1.0-SNAPSHOT.war。

  • 打包后的jar包名字生成規范:artifactId.packaging,如當前的配置,項目打包后生成的包名就是:spring.war。


1.4插件坐標介紹.

  • pluginManagement:插件管理器;

  • plugins:插件列表;

  • plugin:引入插件的依賴,一對<plugin>標簽對應一個插件。


2.Maven常用操作介紹.

2.1Maven install操作.

  • Maven install:對項目進行編譯打包,并將項目轉換成為 maven依賴存放在本地 maven倉庫中。同時還會在 target目錄和本地倉庫的目錄里面生成 war包,如:

    • 在 target目錄里面的包名是:項目名.war,如:sping.war;也會存放在項目的本地工作空間的 taget目錄里面;

    • 在本地倉庫里面的包名是:項目名-版本號.war,如:spring-1.0-SNAPSHOT.war。在本地倉庫的路徑:E:\repository\com\wuicy\spring\1.0-SNAPSHOT;

  • 同時還會在項目的 targer目錄里面和并將項目打包發布到本地工作空間的項目文件的 target目錄里,如:

  • 執行該命令的時候可以先執行clean操作清除原先打包的項目,再執行install操作。


2.2Maven test操作.

  • Maven test:對項目進行編譯并執行test目錄里面的測試代碼。


2.3Maven clean操作.

  • Maven clean:清理 target目錄。在進行真正的構建項目之前進行一些清理工作,移除所有上一次構建生成的文件。執行該命令會刪除項目的target目錄里面的文件。


2.4Maven package操作.

  • 注意和 Maven install命令的區別;

  • Maven package:將項目打包,包名是:項目名.war,該操作只會將項目打包存放到本地工作空間的位置,不會在本地倉庫粗放。如:


2.5Maven Reimport操作.

  • 該操作是刷新更新 Maven項目,如果有依賴沒下載好,就可以使用該命令刷新 Maven項目,重新下載依賴,不過該命令需要先下載 Maven Helper插件才有,項目名右鍵。如:

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

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

相關文章

得物面試:Kafka消息0丟失,如何實現?

得物面試&#xff1a;Kafka消息0丟失&#xff0c;如何實現&#xff1f; 尼恩說在前面 在40歲老架構師 尼恩的讀者交流群(50)中&#xff0c;最近有小伙伴拿到了一線互聯網企業如得物、阿里、滴滴、極兔、有贊、希音、百度、網易、美團的面試資格&#xff0c;遇到很多很重要的面…

新版Java面試專題視頻教程——多線程篇②

新版Java面試專題視頻教程——多線程篇② 0. 問題匯總0.1 線程的基礎知識0.2 線程中并發安全0.3 線程池0.4 使用場景 1.線程的基礎知識2.線程中并發鎖3.線程池3.1 說一下線程池的核心參數&#xff08;線程池的執行原理知道嘛&#xff09;3.2 線程池中有哪些常見的阻塞隊列Array…

高級語言期末2014級A卷

1.編寫函數 int delarr(int a[] ,int n)&#xff0c;刪除有n個元素的正整型數組a中所有素數&#xff0c;要求&#xff1a; 1&#xff09;數組a中剩余元素保持原來次序&#xff1b; 2&#xff09;將處理后的數組輸出&#xff1b; 3&#xff09;函數值返回剩余元素個數&#xff1…

MySQL索引面試題(高頻)

文章目錄 前言什么時候需要&#xff08;不需要&#xff09;)使用索引&#xff1f;有哪些優化索引的方法前綴索引優化索引覆蓋優化索引失效場景 總結 前言 今天來講一講 MySQL 索引的高頻面試題。主要是針對前一篇文章 MySQL索引入門&#xff08;一文搞定&#xff09;進行查漏補…

虛擬機的內存結構

一、摘要 熟悉 Java 語言特性的同學都知道&#xff0c;相比 C、C 等編程語言&#xff0c;Java 無需通過手動方式回收內存&#xff0c;內存中所有的對象都可以交給 Java 虛擬機來幫助自動回收&#xff1b;而像 C、C 等編程語言&#xff0c;需要開發者通過代碼手動釋放內存資源&…

MedicalGPT 訓練醫療大模型,實現了包括增量預訓練、有監督微調、RLHF(獎勵建模、強化學習訓練)和DPO(直接偏好優化)

MedicalGPT 訓練醫療大模型&#xff0c;實現了包括增量預訓練、有監督微調、RLHF(獎勵建模、強化學習訓練)和DPO(直接偏好優化)。 MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 訓練醫療大模型&#xff0c;實現了包括增量預訓練、有監督微…

Linux第63步_為新創建的虛擬機添加必要的目錄和安裝支持linux系統移植的軟件

1、創建必要的目錄 1)、創建“/home/zgq/linux/”目錄 打開終端&#xff0c;進入“/home/zgq/”目錄 輸入“mkdir linux回車”&#xff0c;創建“/home/zgq/linux/”目錄 輸入“ls回車”&#xff0c;列舉“/home/zgq/”目錄的所有文件和文件夾 創建好“/home/zgq/linux/”…

EIS(防抖):meshflow算法 C++實現

視頻防抖的應用 對視頻防抖的需求在許多領域都有。 這在消費者和專業攝像中是極其重要的。因此&#xff0c;存在許多不同的機械、光學和算法解決方案。即使在靜態圖像拍攝中&#xff0c;防抖技術也可以幫助拍攝長時間曝光的手持照片。 在內窺鏡和結腸鏡等醫療診斷應用中&…

Go 中的 init 如何用?它的常見應用場景有哪些呢?

嗨&#xff0c;大家好&#xff01;我是波羅學。本文是系列文章 Go 技巧第十六篇&#xff0c;系列文章查看&#xff1a;Go 語言技巧。 Go 中有一個特別的 init() 函數&#xff0c;它主要用于包的初始化。init() 函數在包被引入后會被自動執行。如果在 main 包中&#xff0c;它也…

QT基本組件

四、基本組件 Designer 設計師&#xff08;重點&#xff09; Qt包含了一個Designer程序&#xff0c;用于通過可視化界面設計開發界面&#xff0c;保存文件格式為.ui&#xff08;界面文件&#xff09;。界面文件內部使用xml語法的標簽式語言。 在Qt Creator中創建文件時&#xf…

滾雪球學Java(67):深入理解 TreeMap:Java 中的有序鍵值映射表

咦咦咦&#xff0c;各位小可愛&#xff0c;我是你們的好伙伴——bug菌&#xff0c;今天又來給大家普及Java SE相關知識點了&#xff0c;別躲起來啊&#xff0c;聽我講干貨還不快點贊&#xff0c;贊多了我就有動力講得更嗨啦&#xff01;所以呀&#xff0c;養成先點贊后閱讀的好…

機器人內部傳感器閱讀筆記及心得-位置傳感器-旋轉變壓器、激光干涉式編碼器

旋轉變壓器 旋轉變壓器是一種輸出電壓隨轉角變化的檢測裝置&#xff0c;是用來檢測角位移的&#xff0c;其基本結構與交流繞線式異步電動機相似&#xff0c;由定子和轉子組成。 旋轉變壓器的原理如圖1所示&#xff0c;定子相當于變壓器的一次側&#xff0c;有兩組在空間位置上…

MyBatis-Plus 優雅實現數據加密存儲

文章目錄 前言一、數據庫字段加解密實現1. 定義加密類型枚舉2. 定義AES密鑰和偏移量3. 配置定義使用的加密類型4. 加密解密接口5. 解密解密異常類6. 加密解密實現類6.1 AES加密解密實現類6.2 Base64加密解密實現類 7. 實現數據庫的字段保存加密與查詢解密處理類8. MybatisPlus配…

使用python進行量化交易

yfinance yfinance國內不能使用&#xff0c;可以使用tushare、akshare代替 import yfinance as yf# 輸入股票代碼 stock_symbol AAPL # 替換為你想要查詢的股票代碼# 獲取股票數據 data yf.download(stock_symbol)# 打印實時數據 print(data)pip install akshare import …

Selenium安裝與配置

文章目錄 一、selenium安裝1. Python環境準備&#xff1a;2. 安裝Selenium&#xff1a;3. 瀏覽器驅動安裝&#xff1a;4. 驗證安裝&#xff1a; 二、常見問題1. Selenium版本與瀏覽器驅動程序不兼容&#xff1a;2. 瀏覽器驅動程序路徑未正確設置&#xff1a; Selenium是一個用于…

2024年1月手機市場行業分析:蘋果手機份額驟降,國產高端手機成功逆襲!

小米Ultra發布。 一方面&#xff0c;我們有望看到國產手機再一次超越自己的決心&#xff0c;繼續創新追逐高端&#xff1b;另一方面&#xff0c;我們也不得不正視目前手機市場所面臨的危機狀態。 2024年1月的線上手機市場遠不如去年。根據鯨參謀數據顯示&#xff0c;今年1月京…

Qt(C++)面試題 | 精選25項常問

面試是每個求職者都必須經歷的一關,而QT面試更是需要面試者有深厚的編程基礎和豐富的實戰經驗。下面我們為大家整理了25道QT面試題,希望能夠幫助大家在求職路上獲得成功。 ?Qt 中常用的五大模塊是哪些? Qt 中常用的五大模塊包括: QtCore:提供了 Qt 的核心功能,例如基本的…

Java面試題之分布式/微服務篇

經濟依舊不景氣啊&#xff0c;如此大環境下Java還是這么卷&#xff0c;又是一年一次的金三銀四。 兄弟們&#xff0c;你準備好了嗎&#xff1f;沖沖沖&#xff01;歐里給&#xff01; 分布式/微服務相關面試題解 題一&#xff1a;CAP理論&#xff0c;BASE理論題二&#xff1a;…

深度神經網絡

包括&#xff1a;深度前饋神經網絡、深度卷積神經網絡、深度循環神經網絡 深度神經網絡全面概述&#xff1a;從基本概念到實際模型和硬件基礎-騰訊云開發者社區-騰訊云

MQL語言實現JSON協議庫

文章目錄 一、MQL語言實現JSON協議的意義二、定義JSON數據枚舉類型簡單數據類型復雜數據類型枚舉數據類型定義類變量清理與賦值方法構造與析構方法重載運算符添加與設置方法序列化與反序列方法 一、MQL語言實現JSON協議的意義 數據交互&#xff1a;JSON是一種輕量級的數據交換格…