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


多模塊開發的好處:

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

這樣其實做了很多無意義的工作,那么如果把DAO層單獨分離出來,單獨打包為jar,提升開發效率。除此之外,就像把DAO,Service,表現層分開的目的一樣,分成不同的模塊

來實現解耦,各個模塊負責自己的功能,並且也可以使用其他項目中。最后,多個模塊也跟利於分工,每個團隊負責不同的模塊,提高效率。

IDEA創建多模塊工程:

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

project和各個module的關系可以這樣表示:

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)   

第一步就是創建一個工程了,至於是建空工程與否依情況而定,以建空工程為例,名app

----》

 

 

之后就是新建一個父模塊,可以采用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同樣的方法啟動:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM