IDEA多模塊工程和利用tomcat插件啓動

多模塊開發的好處:web

以前沒怎麼接觸過寫多個模塊,大部分時間都是一股腦打包在一個jar裏面,但隨之帶來的問題也是顯而易見的,假設DAO層有一個部分須要修改,可是最後卻須要打包整個項目,apache

這樣其實作了不少無心義的工做,那麼若是把DAO層單獨分離出來,單獨打包爲jar,提高開發效率。除此以外,就像把DAO,Service,表現層分開的目的同樣,分紅不一樣的模塊tomcat

來實現解耦,各個模塊負責本身的功能,而且也可使用其餘項目中。最後,多個模塊也跟利於分工,每一個團隊負責不一樣的模塊,提升效率。服務器

IDEA建立多模塊工程:app

與Eclipse不一樣的是,IDEA中沒有workplace這個概念,在IDEA中只有project和module,project是項目中的最頂級的單元,其次就是module,也就是一個project包含多個module。webapp

project和各個module的關係能夠這樣表示:maven

parent是父工程,全部的子模塊都須要依賴它,再往下,將項目劃分爲工具類,DAO和service以及表現層(web),每個模塊都包含一個本身的pom文件,來規定本身的打包方式以及其餘依賴。工具

website-parent--pom.xml (pom)

         |

         |

         |-- website-util

         |        |-- pom.xml (jar)

         |

         |-- website-dao

         |        |-- pom.xml (jar)

         |

         |-- website-service

         |        |-- pom.xml (war)

         |

         |-- website-web

                  |-- pom.xml (war)   

第一步就是建立一個工程了,至因而建空工程與否依狀況而定,以建空工程爲例,名appui

----》編碼

 

 

以後就是新建一個父模塊,能夠採用maven的骨架來構建,選擇quickstart,暫且命名parent,以後一直next

----》

 

父模塊沒大改動,在pom文件添加打包方式爲pom。

<packaging>pom</packaging>

以後根據本身的項目結構,繼續構建module,若是該部分沒有特殊的功能,好比表現層須要webapp目錄,建立的時候跳過骨架選擇便可,

若是有特殊功能可根據骨架建立。固然,若是不肯定直接跳過骨架便可,骨架就是一個搭好的模型罷了,在沒有骨架的模塊上也能夠本身建立相應的目錄結構來實現功能。

重點是把各個的模塊的pom文件的依賴和打包方式處理好,這對以後啓動有着很重要的做用。

建立好的項目如圖:

 

tomcat插件啓動:

在須要啓動的模塊的pom文件添加依賴:

 <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <path>/</path>
                        <port>8081</port>
                        <server>tomcat7</server>
                        <uriEncoding>UTF-8</uriEncoding>
                    </configuration>
                </plugin>

參數解釋:

path:訪問的路徑

port:啓動的端口

server:服務器名稱

uriEncoding:字符編碼

這裏我在Service和Web層都用了這個插件,可是單憑這個插件是沒法啓動的,由於是多模塊的項目,並且Service和Web層都依賴於某些層,因此必須先將其餘

模塊打包好,才能正常啓動。

 

打包的正確順序是,父->子

以上圖爲例,先parent再common,再到manager,這些進行後才實現了dao,interface這些層的打包,以後的Service和web依賴於它們,才能正常啓動。

IDEA對maven提供了很好的支持,找到Maven Project選項,能夠看到以下

這裏其實是表明了模塊的一個生命週期,因此要使得其餘maven模塊也能依賴它們,只需將它們安裝到本地maven庫中就行。

點擊install,再查看本地的maven庫:

 

 

 能夠看到本地倉庫中已經有了相應的jar包

 這些工做完成以後就是啓動了,這裏我將Service設在8080,將web設在8081

 

 

 

 而後配置好名字和須要其餘配置

 

 在command line行寫上tomcat7:run (若是後面的7是指tomcat的版本。)

apply以後回到頁面點擊運行符號。

Service啓動:

 

 Web一樣的方法啓動:

相關文章
相關標籤/搜索