maven的三種工程pom、jar、war的區(qū)別
maven中的三種工程:
1.pom工程:用在父級(jí)工程或聚合工程中。用來(lái)做jar包的版本控制。
2.war工程:將會(huì)打包成war,發(fā)布在服務(wù)器上的工程。如網(wǎng)站或服務(wù)。
3.jar工程:將會(huì)打包成jar用作jar包使用。
以淘淘商城為例:
一. pom工程
1. taotao-parent:
taotao-parent是整個(gè)項(xiàng)目的父工程,它是一個(gè)pom工程。用來(lái)做整個(gè)項(xiàng)目的版本控制,也就是項(xiàng)目中所有要使用到的jar包的版本都集中由父工程管理。這樣你在寫(xiě)其他工程pom文件中maven依賴(lài)時(shí)就不需要寫(xiě)版本號(hào)了。當(dāng)然所有的項(xiàng)目都要先繼承它才行。
2.taotao-manager:
創(chuàng)建taotao-manager用來(lái)做聚合工程,它也是一個(gè)pom工程。創(chuàng)建四個(gè)model分別是taotao-manager-pojo,taotao-manager-dao,taotao-manager-service,taotao-manager-web,同時(shí)會(huì)自動(dòng)生成4個(gè)獨(dú)立的maven工程。聚合工程只是用來(lái)幫助其他模塊構(gòu)建的工具,本身并沒(méi)有實(shí)質(zhì)的內(nèi)容。具體每個(gè)工程代碼的編寫(xiě)還是在生成的工程中去寫(xiě)。
2.1.使用聚合工程taotao-manager的意義就是:原本這些模塊也是一個(gè)個(gè)獨(dú)立的工程,現(xiàn)在將它們聚合到taotao-manager中,這樣我們構(gòu)建項(xiàng)目的時(shí)候就只要構(gòu)建taotao-manager一個(gè)就行了。我們只要使用maven構(gòu)建這個(gè)聚合工程taotao-manager就行了而不用去操心模塊的構(gòu)建,比如install時(shí)只要install taotao-manager就行??傊褪呛?jiǎn)化操作。正常的編碼工作還是在對(duì)應(yīng)的taotao-manager-pojo,taotao-manager-dao,taotao-manager-service,taotao-manager-web。工程中進(jìn)行的。
二. war工程
1.taotao-rest,taotao-portal這些
這些工程都是要部署在服務(wù)器上的,所以要打包成war形式。這些工程有的是用戶(hù)通過(guò)瀏覽器直接訪問(wèn),有的是通過(guò)發(fā)布服務(wù)被別的工程調(diào)用。
三.jar工程
3.taotao-common
這個(gè)就是打包成jar的工程。它就是存放一些其他工程都會(huì)使用的類(lèi),工具類(lèi)。我們可以在其他工程的pom文件中去引用它,和引用別的jar包沒(méi)什么區(qū)別。
<dependency> <groupId>com.taotao</groupId> <artifactId>taotao-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- idea環(huán)境下Maven無(wú)法正常下載pom中配置的包問(wèn)題
- IDEA下Maven的pom文件導(dǎo)入依賴(lài)出現(xiàn)Auto build completed with errors的問(wèn)題
- 詳解SpringBoot獲得Maven-pom中版本號(hào)和編譯時(shí)間戳
- java 中maven pom.xml文件教程詳解
- maven打包成第三方j(luò)ar包且把pom依賴(lài)包打入進(jìn)來(lái)的方法
- Maven中pom.xml配置文件詳細(xì)介紹
- maven中pom.xml詳細(xì)介紹
- 詳解Maven POM(項(xiàng)目對(duì)象模型)
相關(guān)文章
關(guān)于@RequestParam注解的使用(簡(jiǎn)單易懂)
這篇文章主要介紹了關(guān)于@RequestParam注解的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java使用ant.jar執(zhí)行SQL腳本文件的示例代碼
這篇文章主要介紹了Java使用ant.jar執(zhí)行SQL腳本文件,文中通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02Java實(shí)戰(zhàn)之兼職平臺(tái)系統(tǒng)的實(shí)現(xiàn)
這篇文章主要介紹了如何利用Java編寫(xiě)一個(gè)兼職平臺(tái)系統(tǒng),采用到的技術(shù)有Springboot、SpringMVC、MyBatis、ThymeLeaf等,感興趣的小伙伴可以了解一下2022-03-03ireport數(shù)據(jù)表格報(bào)表的簡(jiǎn)單使用
這篇文章給大家介紹了如何畫(huà)一個(gè)報(bào)表模板,這里介紹下畫(huà)表格需要用到的組件,文中通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-10-10實(shí)現(xiàn)了基于TCP的Java Socket編程實(shí)例代碼
這篇文章主要介紹了基于TCP的Java Socket編程實(shí)例代碼,有需要的朋友可以參考一下2013-12-12Java線程之join_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
join() 定義在Thread.java中,下文通過(guò)源碼分享join(),需要的朋友參考下吧2017-05-05Java實(shí)現(xiàn)銀行賬戶(hù)管理子系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)銀行賬戶(hù)管理子系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05