官术网_书友最值得收藏!

2.2 大管家Maven

本書選擇Maven作為Jar包管理及構建工具。原因很簡單,它擁有領先的市場份額。圖2-1展示了來自《2020 JVM生態報告》的數據。

圖2-1 構建工具市場份額

2.2.1 pom文件

POM(Project Object Model,項目對象模型)是我們使用Maven的核心。pom文件使用XML語言編寫,定義了項目的基本信息,用于描述項目如何構建,聲明項目依賴等。

pom文件示例:

以上是一個pom文件示例,接下來我們一起學習幾個常用的概念。

2.2.2 常用概念

坐標

坐標是Maven中非常重要的概念。我們在初中數學里就已經學習過這個概念,例如:(0,7)代表Y軸上距離原點7個單位的一個點。而我們在地理課里也學習過由經/緯度組成的坐標,例如:(東經116°23'51",北緯39°54'31")是天安門的坐標。那么Maven中的坐標是什么樣子的呢?Maven中的坐標由以下3部分構成:

· groupId

· artifactId

· version

groupId代表組信息,通常是公司或者組織;artifactId是項目在組內的唯一標識;version就很簡單了,代表項目的版本。我們通過一個具體示例來進一步理解:

上面這個坐標代表Spring的Web模塊,其版本為5.2.10.RELEASE。

在Java中,可以說“萬物皆對象”,而在Maven中,則可以說“萬物皆坐標”。一切Jar包或pom文件都可以用一個唯一的坐標來標識。

依賴

我們可以通過坐標來聲明一個Jar包或pom文件(War包不能被引用,這里不討論),還可以通過坐標來引用其他的Jar包或pom文件。依賴管理是Maven最重要的功能之一,項目依賴的所有Jar都需要通過如下格式放到<dependencies>標簽下:

繼承

Maven中的繼承和Java中的繼承類似,都通過<parent>標簽來標明繼承關系。繼承后,子工程會將父工程的相關特性應用到子工程中。例如:

構建

構建(Build),也就是我們所說的編譯打包的過程,是Maven另外一個重要的功能,用于將我們的工程打成Jar包或War包。

Maven是通過集成插件的方式來實現構建功能的,可以根據不同的構建需求選擇不同的插件。在Spring Boot項目中,默認使用spring-boot-maven-plugin插件進行構建,因為Spring Boot需要將工程打包成可執行的Jar文件,所以需要使用自己定制的構建插件。例如:

主站蜘蛛池模板: 巩留县| 什邡市| 禄丰县| 彭州市| 建平县| 普定县| 安新县| 黄梅县| 汉中市| 临西县| 嘉兴市| 德阳市| 隆昌县| 将乐县| 平度市| 台南市| 灵寿县| 奉贤区| 全椒县| 滁州市| 抚顺县| 公主岭市| 黑水县| 青州市| 铜陵市| 邮箱| 高雄市| 永胜县| 宾阳县| 阳新县| 夏津县| 娱乐| 香格里拉县| 弥勒县| 丹阳市| 晋中市| 类乌齐县| 墨江| 六枝特区| 葫芦岛市| 云阳县|