maven的三種工程pom、jar、war的區別
轉:
maven的三種工程pom、jar、war的區別
2018年09月03日 10:02:53 houjx3 閱讀數:2918更多 個人分類: maven1.pom工程:用在父級工程或聚合工程中。用來做jar包的版本控制。
2.war工程:將會打包成war,發布在服務器上的工程。如網站或服務。
3.jar工程:將會打包成jar用作jar包使用。
補充一下,jdk9 後還可以打包 jmod(Java 模塊化),厲害的是這個通過 jlink 命令,可以直接將 jmod 打包為對應環境的可執行的程序,告別了讓用戶安裝 jdk 的步驟,現在也有對應的 maven 插件了
以淘淘商城為例:
一. pom工程
1. taotao-parent:
taotao-parent是整個項目的父工程,它是一個pom工程。用來做整個項目的版本控制,也就是項目中所有要使用到的jar包的版本都集中由父工程管理。這樣你在寫其他工程pom文件中maven依賴時就不需要寫版本號了。當然所有的項目都要先繼承它才行。
2.taotao-manager:
創建taotao-manager用來做聚合工程,它也是一個pom工程。創建四個model分別是taotao-manager-pojo,taotao-manager-dao,taotao-manager-service,taotao-manager-web,同時會自動生成4個獨立的maven工程。聚合工程只是用來幫助其他模塊構建的工具,本身並沒有實質的內容。具體每個工程代碼的編寫還是在生成的工程中去寫。
2.1.使用聚合工程taotao-manager的意義就是:原本這些模塊也是一個個獨立的工程,現在將它們聚合到taotao-manager中,這樣我們構建項目的時候就只要構建taotao-manager一個就行了。我們只要使用maven構建這個聚合工程taotao-manager就行了而不用去操心模塊的構建,比如install時只要install taotao-manager就行。總之就是簡化操作。正常的編碼工作還是在對應的taotao-manager-pojo,taotao-manager-dao,taotao-manager-service,taotao-manager-web。工程中進行的。
二. war工程
1.taotao-rest,taotao-portal這些
這些工程都是要部署在服務器上的,所以要打包成war形式。這些工程有的是用戶通過瀏覽器直接訪問,有的是通過發布服務被別的工程調用。
三.jar工程
3.taotao-common
這個就是打包成jar的工程。它就是存放一些其他工程都會使用的類,工具類。我們可以在其他工程的pom文件中去引用它,和引用別的jar包沒什麽區別。
<dependency>
<groupId>com.taotao</groupId>
<artifactId>taotao-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
maven的三種工程pom、jar、war的區別