搭建maven多模組工程
搭建maven多模組工程
一、概要
作業系統:win7
變成語言:java
web容器:tomcat
IDE工具:STS(Spring Tool Suite)
專案管理工具:maven
搭建環境:
1、安裝jdk
一鍵式安裝,下一步下一步即可
安裝完畢配置環境變數:JAVA_HOME、CLASSPATH、PATH
測試:win+R執行,cmd開啟命令視窗,測試java、javac、java -version
2、安裝tomcat
綠色版,解壓縮到本地目錄即可
測試:%TOMCAT_HOME%/bin目錄下雙擊startup.bat啟動tomcat,瀏覽器位址列輸入網址
3、安裝maven
綠色版,解壓縮到本地即可
配置:
1、如果用預設倉庫,則將%MAVEN_HOME%/conf/settings.xml複製到C:\Users\Administrator\.m2\
目錄下
2、如果想自定義maven倉庫位置,則建立%MAVEN_HOME%/repo資料夾作為倉庫(在哪裡建立 倉庫檔案都行,我說的位置是個人習慣而已)
配置settings.xml檔案,如下程式碼所示,標紅的位置為自定義maven倉庫的路徑
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:/apache-maven-3.2.1/repo</localRepository>
4、安裝STS
綠色版,解壓縮到本地即可,下圖位置點選STS.exe啟動程式
配置1:開啟STS.ini檔案配置jvm,具體引數設定多少,視情況而定
配置2:啟動STS
Window/Preferences/General/Workspace
Window/Preferences/Java/Complier
window/Preferences/Java/Installed JREs
window/Preferences/Maven
window/Preferences/Maven/Installations
window/Preferences/Maven/User Settings
如果是自定義maven倉庫,則User Settings修改為%MAVEN_HOME%/conf/settings.xml,倉庫位置我們之前
在setting.xml中已經配置過了,Local Repository會自動讀取settings.xml中配置的倉庫路徑
window/Preferences/Server/Runtime Environments
點選No servers...這個位置,建立Server
雙擊P1位置,開啟tomcat配置頁面,修改幾項重要配置
P2位置:修改啟動時間,預設時間太短了容易啟動超時
P3位置:選擇第二項,Server path選擇tomcat實際安裝目錄,不使用預設的位置,不好找
P4位置:如果需要修改埠,則在這裡修改
基本上配置這些就可以玩耍了^^
二、建立maven多模組工程
下面的文章中涉及到幾個名詞(不是標準的名詞,也不是標準的解釋,純個人理解):
父工程:是一個虛擬的工程,不能單獨執行,它把子模組和子工程糅合在一起。父工程的pom.xml中的配置,子 模組、子工程都繼承。
子模組:將子工程們的一些通用功能提取出來形成的模組,相當於jar包。不能單獨執行,子工程可以在pom.xml 中類似配置jar包的方式來選擇使用。
子工程:一個大的工程,可以拆分成多個小工程,每個小工程來完成部分業務功能,並且能夠獨立部署執行。而這 些小工程通過pom.xml配置,有著共同的父工程,從而成為一個整體。這樣的小工程就是子工程。
1、建立父工程
刪掉src資料夾,如下圖所示:
pom.xml檔案目前是這個樣子的:
我們修改一下pom.xml:
2、建立子模組
在工程上右鍵,新增maven模組:
模組命名為mr-core
mr-core是要儲存一下公用資源的模組,不需要直接執行,所有選擇maven-archetype-quickstart
Gourp Id保持與父工程一致,改成mr
點選finish,子模組mr-core建立完成,如下圖所示:
PS:筆者在操作到這一步,經常會失敗,父子工程都報錯,並且父工程的pom檔案中只剩下modelVersion標籤了,其他配置都沒了,
不知道怎麼回事,有知道怎麼回事的童鞋請留言告訴我,O(∩_∩)O謝謝!
goupId、version、properties是繼承自父工程的,所以我們把重複的東西都去掉:
再看看父工程的pom.xml,modules中自動增加了mr-core的關聯:
再新增兩個子模組mr-logic和mr-module,經過多次失敗和反覆修改,最後成功了,如下圖所示:
3、建立子工程
在工程右鍵,建立一個子工程mr-platform-admanager(管理員平臺)
子工程是要部署在tomcat伺服器的web工程,所以選擇maven-archetype-webapp
在父工程中要引入servlet-api.jar不然jsp會報錯的
然後我們在按照同樣的方法建立另一個子工程mr-platform-client(客戶平臺)
搭建完成!我們來看看專案結構吧。
工程mr(Mr Parent Project)就像是一個聯邦國家一樣:
mr-core:核心模組,包括config、listener、util、factory等
mr-logic:公用業務,包括service、dao、vo等
mr-module:模型,只包括資料層實體類
mr-platform-admanager:管理平臺,包括控制器和私有業務
mr-platform-client:客戶平臺,包括控制器和私有業務
PS:本例只是對maven多模組工程演示的示例,架構可能並不是很合理,希望大家理解^^
專案原始碼在我的百度雲盤中,地址: