Maven使用詳解

1、maven介紹:

?

2、pom.xml文件理解:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.google</groupId><artifactId>aibaiyang</artifactId><version>0.0.1-SNAPSHOT</version><name>aibaiyang</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

?

代碼第一行是XML頭,指定了改xml的版本和編碼格式。緊接著是project元素,project元素是所有pom.xml的根元素,它聲明了一些POM相關的命名空間及xsd元素。

modelVersion:指定了當前POM模型的版本,對于maven2以及maven3來說,它只能是4.0.0。

groupId、artifactId、version:這三個元素定義了一個項目的基本坐標,groupId定義了項目屬于哪個組,例如google公司的myapp項目,那么groupId就應該是com.google.myapp;artifactId定義了Maven項目中組的唯一id,例如myapp-domain,myapp-serveice,myapp-web。

version:項目當前的版本號,0.0.1-SNAPSHOT是該項目的版本號。

name:聲明了一個對于用戶更為友好的項目名稱,以方便信息交流,不是必須的。

?

3、坐標和依賴:

groupId:

artifactId:該元素定義實際項目中的一個Maven項目(模塊),推薦的做法是使用實際的項目名稱作為artifactId的前綴。這樣做的好處是方便尋找實際的構件,使用實際的項目名稱作為前綴之后,就能方便從一個lib文件夾中找到某個項目的一組構件。

version:該元素定義了Maven項目當前所處的版本。

packaging :該元素定義了Maven項目的打包方式,打包方式與所生成的構件的文件擴展名相對應。

?

3.1、依賴配置:

    <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>RELEASE</version><type>jar</type><scope>runtime</scope><optional>false</optional><exclusions><exclusion> </exclusion></exclusions></dependency></dependencies>

groupId、artifactId、version:依賴坐標

type:依賴類型,對應項目坐標定義的packaging。大部分情況下該元素不必聲明,其默認值為jar

socpe:依賴范圍

optional:標記依賴是否可選

exclusions:用來排除傳遞性依賴

?

3.2、依賴范圍:

compile:編譯依賴氛圍。沒有指定,就會默認使用該依賴范圍。

test:測試依賴范圍。

provided:已提供依賴范圍,編譯和測試有效,但在運行時無效。

runtime:運行時依賴范圍。編譯無效,測試和運行時有效。

system:系統依賴范圍,和provided依賴范圍一致。

import:導入依賴范圍。

?

3.3、傳遞性依賴:

?

?

?

參考此文檔

轉載于:https://www.cnblogs.com/aibaiyang/p/10393188.html

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

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

相關文章

諾基亞報告稱:到2020年北美電子郵件流量占比將跌至7%

日前&#xff0c;諾基亞貝爾實驗室下屬貝爾實驗室咨詢部門&#xff08;Bell Labs Consulting&#xff09;發布研究報告稱&#xff0c;在北美&#xff0c;千禧一代青少年和青壯年消費群體正逐漸壯大&#xff0c;受其驅動的視頻通信流量占比將由47%增至86%。隨著視頻通話和視頻會…

開源貢獻 計算_我的第一個Hacktoberfest-第一次為開源做貢獻的經驗

開源貢獻 計算by Sibylle Sehl通過Sibylle Sehl 我的第一個Hacktoberfest-第一次為開源做貢獻的經驗 (My First Hacktoberfest — Experiences of Contributing to Open Source as a First Timer) Contributing to Open Source and projects can seem like a daunting process…

java web junit_如何使用junit測試javaweb工程

一:創建一個測試類,建議將測試類單獨放在一個包中(在 maven 項目里有測試類專門的存放位置),新建一個Junit Test Case類,下一步 測試類的命名建議是你將要測試的類名Test,然后點 Browse, 你可以選擇要進行測試的類(一般選擇 Service, 因為 Service 關心的是業務需求),用這種方式…

文件系統及程序的限制關系: ulimit

想像一個狀況&#xff1a;我的 Linux 主機里面同時登陸了十個人&#xff0c;這十個人不知怎么搞的&#xff0c; 同時打開了 100 個文件&#xff0c;每個文件的大小約 10MBytes &#xff0c;請問一下&#xff0c; 我的 Linux 主機的內存要有多大才夠&#xff1f; 1010010 10000…

java代碼_Java 代碼實現排序算法

閱讀本文約需要8分鐘 大家好&#xff0c;我是你們的導師&#xff0c;我每天都會在這里給大家分享一些干貨內容(當然了&#xff0c;周末也要允許老師休息一下哈)。上次老師跟大家分享了下SpringBootGradle MyBatisPlus3.x搭建企業級的后臺分離框架的相關知識&#xff0c;今天跟大…

移動游戲市場Testin云測占有率超過90%

《王者榮耀》、全民K歌、美團大眾、共享單車……越來越多的爆款應用占據著我們的手機桌面&#xff0c;也驅動著創業者不斷發掘新的移動應用和商業模式&#xff0c;卻鮮有人留意到&#xff0c;由移動應用催生出來的APP測試市場。 “現在用戶獲取成本是幾年前的幾十倍&#xff0c…

java 拆箱_Java自動裝箱拆箱

一、裝箱、拆箱定義如果一個int型量被傳遞到需要一個Integer對象的地方&#xff0c;那么&#xff0c;編譯器將在幕后插入一個對Integer構造方法的調用&#xff0c;這就叫做自動裝箱。而如果一個Integer對象被放到需要int型量的地方&#xff0c;則編譯器將幕后插入一個隊intValu…

我們如何使用CircleCI 2.0來構建Angular應用并將其部署到AWS S3

by Marius Lazar通過馬里烏斯拉扎爾(Marius Lazar) 我們如何使用CircleCI 2.0來構建Angular應用并將其部署到AWS S3 (How we used CircleCI 2.0 to build and deploy an Angular app to AWS S3) In today’s world, continuous integration and deployment (CI & CD) is a…

攜手助力新型智慧城市建設和科技創新發展

2017年5月9日&#xff0c;三門峽市政府與北京航天控制儀器研究所、溢思得瑞科技創新集團戰略合作協議簽約儀式舉行&#xff0c;共同推動三門峽市新型智慧城市建設和科技創新發展。 市委書記劉南昌&#xff0c;市委常委、宣傳部部長呂挺琳&#xff0c;副市長李琳&#xff0c;市城…

在采用vue-cli Post Get

需要依賴插件 vue-resource npm install vue-resource --save https://cn.vuejs.org/v2/cookbook/using-axios-to-consume-apis.html 采用axios一樣可以取數值 new Vue({ el: #app, data () { return { info: null } }, mounted () { axios .get(https://api.coindesk.com/v1/b…

優秀的開源項目C_適合提高C/C++、網絡編程能力的開源項目!不要錯過,趕緊收藏...

我們學習每一個編程語言都是有一個項目實戰的過程&#xff0c;而對于開發類的編程語言&#xff0c;除了適當的做項目程序外&#xff0c;學習了解其他的開源項目更是一個關鍵&#xff0c;就比如我們的C/C編程語言的學習。前陣子有一個小伙伴就問到我&#xff0c;我學好C/C基礎后…

Opencv分水嶺算法——watershed自動圖像分割用法

分水嶺算法是一種圖像區域分割法&#xff0c;在分割的過程中&#xff0c;它會把跟臨近像素間的相似性作為重要的參考依據&#xff0c;從而將在空間位置上相近并且灰度值相近的像素點互相連接起來構成一個封閉的輪廓&#xff0c;封閉性是分水嶺算法的一個重要特征。 其他圖像分割…

單變量線性回歸模型_了解如何為單變量模型選擇效果最好的線性回歸

單變量線性回歸模型by Bjrn Hartmann比約恩哈特曼(BjrnHartmann) 找出哪種線性回歸模型最適合您的數據 (Find out which linear regression model is the best fit for your data) Inspired by a question after my previous article, I want to tackle an issue that often c…

java javax.xml.ws_如何通過javax.xml.ws.Service進行調用

在Eclipse中創建了一個新的標準java 7項目,并成功設法獲取javax.xml.ws.Service的實例,如下所示&#xff1a;String wsdlURL "http://example.com:3000/v1_0/foo/bar/SomeService?wsdl";String namespace "http://foo.bar.com/webservice";String servi…

漢能:讓人類像葉綠素一樣利用太陽能

6月初&#xff0c;一批在車筐里同時標識了摩拜“Mobike”和漢能“Hanergy”的摩拜單車在北京投入使用。這是由漢能與摩拜合作開發的第一批裝有漢能薄膜太陽能組件的共享單車。 這批共享單車所裝載的5.5瓦的漢能MiaSol的柔性薄膜太陽能組件&#xff0c;將為摩拜車載智能鎖中內置…

Java Annotation

一、了解注釋注釋是java1.5 jdk這后引入的特性。Java庫自己帶的注釋有Deprecated, Overwrite等。注釋是加在類&#xff0c;方法&#xff0c;變量等上的一種標記。并且&#xff0c;可以通過javaj反射操作把這個標記取出來。主要用途是用于對方法&#xff0c;變量&#xff0c;類等…

pycharm顯示全部數據_PyCharm第一次安裝及使用教程

pycharm簡介PyCharm是一種Python IDE&#xff0c;帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具&#xff0c;比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外&#xff0c;該IDE提供了一些高級功能&#xff0c;以用…

UOJ #150 【NOIP2015】 運輸計劃

題目描述 公元 \(2044\) 年&#xff0c;人類進入了宇宙紀元。 \(L\) 國有 \(n\) 個星球&#xff0c;還有 \(n-1\) 條雙向航道&#xff0c;每條航道建立在兩個星球之間&#xff0c;這 \(n-1\) 條航道連通了 \(L\) 國的所有星球。 小 \(P\) 掌管一家物流公司&#xff0c; 該公司有…

css 屬性選擇器筆記

1、基本選擇器&#xff1a; eg&#xff1a; *{margin:0;padding:0}p{color:black}.content{background:red;}#intro{padding-left:2em;} 2、多元素組合選擇器 div p { color:#f00; }#nav li { display:inline; }#nav a { font-weight:bold; }div > strong { color:#f00; }h2…

scuba 報表_是否想了解JavaScript的for循環? 這個動畫的SCUBA潛水員可以提供幫助!...

scuba 報表by Kevin Kononenko凱文科諾年科(Kevin Kononenko) 是否想了解JavaScript的for循環&#xff1f; 這個動畫的SCUBA潛水員可以提供幫助&#xff01; (Want to learn about JavaScript’s for loops? This animated SCUBA diver can help!) For loops can be tough to…