1. 程式人生 > >利用intellijidea創建maven多模塊項目

利用intellijidea創建maven多模塊項目

dea intellij ica 沒有 文章 com webapp 之間 color

一、項目結構

技術分享

multi-module-PRoject是主工程,裏面包含兩個模塊(Module):

  1. web-app是應用層,用於界面展示,依賴於web-service參的服務。
  2. web-service層是服務層,用於給app層提供服務。

二、構建項目

2.1 Parent Project

新建一個空白標準maven project(不要選擇Create from archetype選項)

技術分享

填寫項目坐標

得到一個標準的maven項目,因為該項目是作為一個Parent project存在的,可以直接刪除src文件夾。

技術分享

2.2 增加web-app模塊(Module)

技術分享

選擇從archetype創建(選擇webapp選項)

技術分享

groupId和version繼承自Parent project,這裏只需要填寫artifactId即可。

技術分享

2.3增加web-service模塊

用同樣的方法創建web-service模塊(不過該模塊是一個空白maven標準項目,不要從archetype創建)

技術分享

2.4 得最終項目結構

技術分享

2.5 關鍵幾點

  1. Parent project和各個Module擁有獨立pom文件,他們之間的關系後續會專門寫文章介紹。
  2. Parent project用於組織不同的Module,不實現邏輯
  3. Module集成Parent project的groupId和version,Module只需要指定自己的artifactId即可。

三、添加項目依賴

技術分享

上面的操作是添加web-app對web-service模塊的依賴,完成上述操作後web-Service中public的類已經在web-app模塊中可見了。但是這個時候在app模塊使用了service模塊中的類,通過maven進行編譯(compile)的時候還是會報錯XX找不到(XX為service模塊的類),要解決這個問題需要在app的pom中增加對service的依賴:

   <dependency>
            <groupId>com.cnblogs.kmpp</groupId>
            <artifactId>web-service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

以上,項目依賴的添加已經完成

四、開始編程

4.1 web-service模塊編程

在web-service模塊中增加一個Service類(SimpleService.java)

技術分享

4.2 web-app模塊編程

在web-app模塊增加一個Servlet,並且調用web-service模塊的SimpleService類的getServiceDescription方法。

技術分享

4.2.1 指定源碼放置目錄

針對webapp沒有java目錄的情況,可先創建java目錄,然後去設置它為源碼目錄,這樣就可以在下面創建包了。

技術分享

4.3 配置Servlet

技術分享
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

    <servlet>
        <servlet-name>Simple</servlet-name>
        <servlet-class>com.cnblogs.kmpp.SimpleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Simple</servlet-name>
        <url-pattern>/simple-servlet</url-pattern>
    </servlet-mapping>
</web-app>
技術分享

五、運行

在web-app的pom中增加j2ee的依賴,以及jetty插件的依賴。運行jetty。詳情

在瀏覽器中輸入:http://localhost:8080/web-app/simple-servlet

得到運行結果:

技術分享

六、結束

至此,本文完整演示了使用maven構建多模塊項目

利用intellijidea創建maven多模塊項目