maven的三種工程pom、jar、war的區(qū)別
maven中的三種工程:
1.pom工程:用在父級工程或聚合工程中。用來做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工程。用來做整個(gè)項(xiàng)目的版本控制,也就是項(xiàng)目中所有要使用到的jar包的版本都集中由父工程管理。這樣你在寫其他工程pom文件中maven依賴時(shí)就不需要寫版本號了。當(dāng)然所有的項(xiàng)目都要先繼承它才行。
2.taotao-manager:
創(chuàng)建taotao-manager用來做聚合工程,它也是一個(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工程。聚合工程只是用來幫助其他模塊構(gòu)建的工具,本身并沒有實(shí)質(zhì)的內(nèi)容。具體每個(gè)工程代碼的編寫還是在生成的工程中去寫。
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就行??傊褪呛喕僮?。正常的編碼工作還是在對應(yīng)的taotao-manager-pojo,taotao-manager-dao,taotao-manager-service,taotao-manager-web。工程中進(jìn)行的。
二. war工程
1.taotao-rest,taotao-portal這些
這些工程都是要部署在服務(wù)器上的,所以要打包成war形式。這些工程有的是用戶通過瀏覽器直接訪問,有的是通過發(fā)布服務(wù)被別的工程調(diào)用。
三.jar工程
3.taotao-common
這個(gè)就是打包成jar的工程。它就是存放一些其他工程都會(huì)使用的類,工具類。我們可以在其他工程的pom文件中去引用它,和引用別的jar包沒什么區(qū)別。
<dependency> <groupId>com.taotao</groupId> <artifactId>taotao-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于@RequestParam注解的使用(簡單易懂)
這篇文章主要介紹了關(guān)于@RequestParam注解的使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java使用ant.jar執(zhí)行SQL腳本文件的示例代碼
這篇文章主要介紹了Java使用ant.jar執(zhí)行SQL腳本文件,文中通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02Java實(shí)戰(zhàn)之兼職平臺系統(tǒng)的實(shí)現(xiàn)
這篇文章主要介紹了如何利用Java編寫一個(gè)兼職平臺系統(tǒng),采用到的技術(shù)有Springboot、SpringMVC、MyBatis、ThymeLeaf等,感興趣的小伙伴可以了解一下2022-03-03ireport數(shù)據(jù)表格報(bào)表的簡單使用
這篇文章給大家介紹了如何畫一個(gè)報(bào)表模板,這里介紹下畫表格需要用到的組件,文中通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(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中,下文通過源碼分享join(),需要的朋友參考下吧2017-05-05Java實(shí)現(xiàn)銀行賬戶管理子系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)銀行賬戶管理子系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05