溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

maven工程的pom文件有什么作用

發(fā)布時(shí)間:2021-06-30 17:20:18 來源:億速云 閱讀:854 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“maven工程的pom文件有什么作用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“maven工程的pom文件有什么作用”吧!

POM文件結(jié)構(gòu)

<project>
<parent>
	<!-- 被繼承的父項(xiàng)目的構(gòu)建標(biāo)識符 -->
	<artifactId></artifactId>
	<!-- 被繼承的父項(xiàng)目的全球標(biāo)識符 -->
	<groupId></groupId>
	<!-- 被繼承的父項(xiàng)目的版本號 -->
	<version></version>
	<!-- 父項(xiàng)目的pom.xml文件的相對路徑。相對路徑允許你選擇一個 -->
	<relativePath></relativePath>
</parent>
<!-- 聲明項(xiàng)目描述符遵循哪一個POM模型版本。模型本身的版本很少改變 ,雖然如此,但它仍然是必不可少的,這是為了當(dāng)Maven引入了新的特性或者其他模型變更的時(shí)候,確保穩(wěn)定性。 -->
<modelVersion>4.0.0</modelVersion>
<!-- 項(xiàng)目的全球唯一標(biāo)識符,通常使用全限定的包名區(qū)分該項(xiàng)目和其他項(xiàng)目。并且構(gòu)建時(shí)生成的路徑也是由此生成, 如com.mycompany.app生成的相對路徑為:/com/mycompany/app -->
<groupId>com.demo</groupId>
<!-- 構(gòu)件的標(biāo)識符,它和group ID一起唯一標(biāo)識一個構(gòu)件。換句話說,你不能有兩個不同的項(xiàng)目擁有同樣的artifact ID和groupID;在某個特定的group ID下,artifact ID也必須是唯一的。構(gòu)件是項(xiàng)目產(chǎn)生的或使用的一個東西,Maven為項(xiàng)目產(chǎn)生的構(gòu)件包括:JARs,源碼,二進(jìn)制發(fā)布和WARs等。 -->
<artifactId>bpmnProject</artifactId>
<!-- 項(xiàng)目當(dāng)前版本,格式為:主版本.次版本.增量版本-限定版本號 -->
<version>1.0.0-SNAPSHOT</version>

<!-- 項(xiàng)目產(chǎn)生的構(gòu)件類型,例如jar、war、ear、pom。插件可以創(chuàng)建他們自己的構(gòu)件類型,所以前面列的不是全部構(gòu)件類型 -->
<packaging>war</packaging>

<!-- 項(xiàng)目的名稱, Maven產(chǎn)生的文檔用 -->
<name>banseon-maven</name>
<!-- 項(xiàng)目主頁的URL, Maven產(chǎn)生的文檔用 -->
<url>http://www.example.com</url>
<!-- 項(xiàng)目的詳細(xì)描述, Maven 產(chǎn)生的文檔用。 當(dāng)這個元素能夠用HTML格式描述時(shí)(例如,CDATA中的文本會被解析器忽略,就可以包含HTML標(biāo)簽), 不鼓勵使用純文本描述。如果你需要修改產(chǎn)生的web站點(diǎn)的索引頁面,你應(yīng)該修改你自己的索引頁文件,而不是調(diào)整這里的文檔。 -->
<description>A maven project to study maven</description>
<!-- 描述了這個項(xiàng)目構(gòu)建環(huán)境中的前提條件 -->
<prerequisites>
	<!-- 構(gòu)建該項(xiàng)目或使用該插件所需要的Maven的最低版本 -->
	<maven></maven>
</prerequisites>
<!-- 項(xiàng)目的問題管理系統(tǒng)(Bugzilla,Jira,Scarab,或任何你喜歡的問題管理系統(tǒng))的名稱或URL,本例為Jira -->
<issueManagement>
	<!-- 問題管理系統(tǒng)(例如Jira)的名字 -->
	<system>jira</system>
	<!-- 該項(xiàng)目使用的問題管理系統(tǒng)的URL -->
	<url>http://jira/baidu.com/banseon</url>
</issueManagement>
<!-- 項(xiàng)目持續(xù)集成信息 -->
<ciManagement>
	<!-- 持續(xù)集成系統(tǒng)的名字,例如continuum -->
	<system></system>
	<!-- 該項(xiàng)目使用的持續(xù)集成系統(tǒng)的URL(如果持續(xù)集成系統(tǒng)有web接口的話) -->
	<url></url>
	<!-- 構(gòu)建完成時(shí),需要通知的開發(fā)者/用戶的配置項(xiàng)。包括被通知者信息和通知條件(錯誤,失敗,成功,警告) -->
	<notifiers>
		<!-- 配置一種方式,當(dāng)構(gòu)建中斷時(shí),以該方式通知用戶/開發(fā)者 -->
		<notifier>
			<!-- 傳送通知的途徑 -->
			<type></type>
			<!-- 發(fā)生錯誤時(shí)是否通知 -->
			<sendOnError></sendOnError>
			<!-- 構(gòu)建失敗時(shí)是否通知 -->
			<sendOnFailure></sendOnFailure>
			<!-- 構(gòu)建成功時(shí)是否通知 -->
			<sendOnSuccess></sendOnSuccess>
			<!-- 發(fā)生警告時(shí)是否通知 -->
			<sendOnWarning></sendOnWarning>
			<!-- 不贊成使用,通知發(fā)送到哪兒 -->
			<address></address>
			<!-- 擴(kuò)展配置項(xiàng) -->
			<configuration></configuration>
		</notifier>
	</notifiers>
</ciManagement>
<!-- 項(xiàng)目創(chuàng)建年份,4位數(shù)字。當(dāng)產(chǎn)生版權(quán)信息時(shí)需要使用這個值 -->
<inceptionYear></inceptionYear>
<mailingLists>
	<mailingList>
		<name>Demo</name>
		<post>banseon@126.com</post>
		<subscribe>banseon@126.com</subscribe>
		<unsubscribe>banseon@126.com</unsubscribe>
		<archive>http://hi.baidu.com/banseon/demo/dev</archive>
	</mailingList>
</mailingLists>
<!-- 項(xiàng)目開發(fā)者列表 -->
<developers>
	<!-- 某個項(xiàng)目開發(fā)者的信息 -->
	<developer>
		<!-- SCM里項(xiàng)目開發(fā)者的唯一標(biāo)識 -->
		<id>HELLO WORLD</id>
		<!-- 項(xiàng)目開發(fā)者的全名 -->
		<name>banseon</name>
		<!-- 項(xiàng)目開發(fā)者的email -->
		<email>banseon@126.com</email>
		<!-- 項(xiàng)目開發(fā)者的主頁url -->
		<url></url>
		<!-- 項(xiàng)目開發(fā)者在項(xiàng)目中扮演的角色,角色元素描述了各種角色 -->
		<roles>
			<role>Project Manager</role>
			<role>Architect</role>
		</roles>
		<!-- 項(xiàng)目開發(fā)者所屬的組織 -->
		<organization>http://hi.baidu.com/banseon</organization>
		<!-- 項(xiàng)目開發(fā)者屬性,如即時(shí)消息如何處理等 -->
		<properties>
			<dept> No </dept>
		</properties>
		<!-- 項(xiàng)目開發(fā)者所在時(shí)區(qū), -11到12范圍內(nèi)的整數(shù)。 -->
		<timezone>-5</timezone>
	</developer>
</developers>
<!-- 項(xiàng)目的其他貢獻(xiàn)者列表 -->
<contributors>
	<!-- 項(xiàng)目的其他貢獻(xiàn)者。參見developers/developer元素 -->
	<contributor>
		<name></name>
		<email></email>
		<url></url>
		<organization></organization>
		<organizationUrl></organizationUrl>
		<roles></roles>
		<timezone></timezone>
		<properties></properties>
	</contributor>
</contributors>
<!-- 該元素描述了項(xiàng)目所有License列表。 應(yīng)該只列出該項(xiàng)目的license列表,不要列出依賴項(xiàng)目的 license列表。如果列出多個license,用戶可以選擇它們中的一個而不是接受所有l(wèi)icense。 -->
<licenses>
<!-- 描述了項(xiàng)目的license,用于生成項(xiàng)目的web站點(diǎn)的license頁面,其他一些報(bào)表和validation也會用到該元素。 -->
	<license>
	<!-- license用于法律上的名稱 -->
		<name> Apache 2 </name>
		<!-- 官方的license正文頁面的URL -->
		<url> http://www.baidu.com/banseon/LICENSE-2.0.txt </url>
	<!-- 項(xiàng)目分發(fā)的主要方式:
		repo,可以從Maven庫下載 
		manual, 用戶必須手動下載和安裝依賴 -->
		<distribution> repo </distribution>
		<!-- 關(guān)于license的補(bǔ)充信息 -->
		<comments> A business-friendly OSS license </comments>
	</license>
</licenses>
<!-- SCM(Source Control Management)標(biāo)簽允許你配置你的代碼庫,供Maven web站點(diǎn)和其它插件使用。 -->
<scm>
	<!-- SCM的URL,該URL描述了版本庫和如何連接到版本庫。欲知詳情,請看SCMs提供的URL格式和列表。該連接只讀。 -->
	<connection>
		scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
	</connection>

	<!-- 給開發(fā)者使用的,類似connection元素。即該連接不僅僅只讀 -->

	<developerConnection>
		scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk
	</developerConnection>
	<!-- 當(dāng)前代碼的標(biāo)簽,在開發(fā)階段默認(rèn)為HEAD -->
	<tag />
	<!-- 指向項(xiàng)目的可瀏覽SCM庫(例如ViewVC或者Fisheye)的URL。 -->
	<url> http://svn.baidu.com/banseon </url>
</scm>
<!-- 描述項(xiàng)目所屬組織的各種屬性。Maven產(chǎn)生的文檔用 -->
<organization>
	<!-- 組織的全名 -->
	<name> demo </name>
	<!-- 組織主頁的URL -->
	<url> http://www.baidu.com/banseon </url>
</organization>
<!-- 構(gòu)建項(xiàng)目需要的信息 -->
<build>
	<!-- 該元素設(shè)置了項(xiàng)目源碼目錄,當(dāng)構(gòu)建項(xiàng)目的時(shí)候,構(gòu)建系統(tǒng)會編譯目錄里的源碼。該路徑是相對于pom.mxl的相對路徑。 -->
	<sourceDirectory></sourceDirectory>
	<!-- 該元素設(shè)置了項(xiàng)目腳本源碼目錄,該目錄和源碼目錄不同,絕大多數(shù)情況下,該目錄下的內(nèi)容會被拷貝到輸出目錄(因?yàn)槟_本是被解釋的,而不是被編譯的) -->
	<scriptSourceDirectory></scriptSourceDirectory>
	<!-- 該元素設(shè)置了項(xiàng)目單元測試使用的源碼目錄,當(dāng)測試項(xiàng)目的時(shí)候,構(gòu)建系統(tǒng)會編譯目錄里的源碼,該路徑是相對于pom.xml的相對路徑 -->
	<testSourceDirectory></testSourceDirectory>
	<!-- 被編譯過的應(yīng)用程序class文件存放的目錄 -->
	<outputDirectory></outputDirectory>
	<!-- 被編譯過的測試class文件存放的目錄 -->
	<testOutputDirectory></testOutputDirectory>
	<!-- 使用來自該項(xiàng)目的一系列構(gòu)建擴(kuò)展 -->
	<extensions>
		<!-- 描述使用到的構(gòu)建擴(kuò)展 -->
		<extension>
			<!-- 構(gòu)建擴(kuò)展的groupId -->
			<groupId></groupId>
			<!-- 構(gòu)建擴(kuò)展的artifactId -->
			<artifactId></artifactId>
			<!-- 構(gòu)件擴(kuò)展的版本 -->
			<version></version>
		</extension>
	</extensions>
	<!-- 使用的插件列表 -->
	<plugins>
		<!-- plugin元素包含描述插件所需要的信息 -->
		<plugin>
			<!-- 插件在倉庫里的groupId -->
			<groupId></groupId>
			<!-- 插件在倉庫里的artifactId -->
			<artifactId></artifactId>
			<!-- 被使用的插件的版本(或者版本范圍) -->
			<version></version>
			<!-- 是否從該插件下載Maven擴(kuò)展(例如打包或類型處理器),由于性能原因,只有在真需要下載時(shí),該元素才被設(shè)置成enabled -->
			<extensions></extensions>
			<!-- 在構(gòu)建生命周期中執(zhí)行一組目標(biāo)的配置,每個目標(biāo)可能有不同的配置 -->
			<executions>
				<!-- execution元素包含了插件執(zhí)行需要的信息 -->
				<execution>
					<!-- 執(zhí)行目標(biāo)的標(biāo)識符,用于標(biāo)識構(gòu)建過程的目標(biāo),或者匹配繼承過程中需要合并的目標(biāo) -->
					<id></id>
					<!-- 綁定了目標(biāo)的構(gòu)建生命周期階段,如果省略,目標(biāo)會被綁定到源數(shù)據(jù)的默認(rèn)階段 -->
					<phase></phase>
					<!-- 配置的執(zhí)行目標(biāo) -->
					<goals></goals>
					<!-- 配置是否被傳播到子pom -->
					<inherited></inherited>
					<!-- 作為DOM對象的配置 -->
					<configuration></configuration>
				</execution>
			</executions>
			<!-- 項(xiàng)目中引入插件所需要的配置 -->
			<dependencies>
				<!-- 參見dependencied/dependency元素 -->
				<dependency>
				</dependency>
			</dependencies>
			<!-- 任何配置是否被傳播到子pom -->
			<inherited></inherited>
			<!-- 作為pom對象的配置 -->
			<configuration></configuration>
		</plugin>
	</plugins>
</build>
</project>

感謝各位的閱讀,以上就是“maven工程的pom文件有什么作用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對maven工程的pom文件有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI