Maven配置文件pom.xml詳解
什么是POM?
POM是項目對象模型(Project Object Model)的簡稱,它是Maven項目中的文件,使用XML表示,名稱叫做pom.xml。在Maven中,當談到Project的時候,不僅僅是一堆包含代碼的文件。一個Project往往包含一個配置文件,包括了與開發(fā)者有關(guān)的,缺陷跟蹤系統(tǒng),組織與許可,項目的URL,項目依賴,以及其他。它包含了所有與這個項目相關(guān)的東西。事實上,在Maven世界中,project可以什么都沒有,甚至沒有代碼,但是必須包含pom.xml文件。
概覽
下面是一個POM項目中的pom.xml文件中包含的元素。注意,其中的modelVersion是4.0.0,這是當前僅有的可以被Maven2&3同時支持的POM版本,它是必須的。
<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>
<!-- 基本設(shè)置 -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>...</packaging>
<dependencies>...</dependencies>
<parent>...</parent>
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties>
<!-- 構(gòu)建過程的設(shè)置 -->
<build>...</build>
<reporting>...</reporting>
<!-- 項目信息設(shè)置 -->
<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors>
<!-- 環(huán)境設(shè)置 -->
<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
</project>
基本的設(shè)置:
POM包含了一個project所需要的所有信息,當然也就包含了構(gòu)建過程中所需要的插件的配置信息,事實上,這里申明了"who","what",和"where",然而構(gòu)建生命周期(build lifecycle)s中說的是"when"和"how"。這并不是說POM并能影響生命周期的過程-事實上它可以。例如,配置一個可以嵌入ant任務(wù)到POM的mavem-antrun-plugin。它基本上就是一個聲明。就像build.xml告訴ant當運行時它該做什么一樣,一個POM申明了它自己的配置。如果外力迫使生命周期跳過了ant插件的執(zhí)行,這并不影響那些已經(jīng)執(zhí)行過的插件產(chǎn)生的效果。這一點和build.xml不一樣。
<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>
<groupId>org.codehaus.mojo</groupId>
<artifactId>my-project</artifactId>
<version>1.0</version>
</project>
Maven坐標
上面的POM定義的是Maven2&3都承認的最小部分。groupId:artifactId:version是必須的字段(盡管在繼承中g(shù)roupId和version不需要明確指出)。這三個字段就像地址和郵戳,它標記了倉庫中的特定位置,就像Maven projects的坐標系統(tǒng)一樣。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis的好幫手之MybatisCodeHelperPro詳解
這篇文章主要介紹了mybatis的好幫手之MybatisCodeHelperPro詳解,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
IntelliJ IDEA失焦自動重啟服務(wù)的解決方法
在使用 IntelliJ IDEA運行 SpringBoot 項目時,你可能會遇到一個令人困擾的問題,一旦你的鼠標指針離開當前IDE窗口,點擊其他位置時, IDE 窗口會失去焦點,你的 SpringBoot 服務(wù)就會自動重啟,所以本文給大家介紹了IntelliJ IDEA失焦自動重啟服務(wù)的解決方法2023-10-10
springboot如何配置上傳文件的maxRequestSize
這篇文章主要介紹了springboot如何配置上傳文件的maxRequestSize,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Java基礎(chǔ)教程之static五大應(yīng)用場景
這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之static五大應(yīng)用場景的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧2019-06-06
Spring兩種任務(wù)調(diào)度Scheduled和Async的區(qū)別和應(yīng)用場景詳解
在現(xiàn)代應(yīng)用程序中,任務(wù)調(diào)度是一個非常普遍的需求,Spring框架提供了兩種主要的方式來實現(xiàn)任務(wù)調(diào)度:??Scheduled?? 和 ??Async??,在這篇文章中,我們將詳細介紹這兩種方式的區(qū)別和應(yīng)用場景,需要的朋友可以參考下2024-12-12
關(guān)于springboot中對sqlSessionFactoryBean的自定義
這篇文章主要介紹了springboot中對sqlSessionFactoryBean的自定義方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

