利用intellijidea創(chuàng)建maven多模塊項(xiàng)目
Posted on 2018-08-16 18:45 冰碟 閱讀(1533) 評(píng)論(0) 收藏 舉報(bào)本文通過(guò)一個(gè)例子來(lái)介紹利用maven來(lái)構(gòu)建一個(gè)多模塊的jave項(xiàng)目。開(kāi)發(fā)工具:intellij idea。
一、項(xiàng)目結(jié)構(gòu)

multi-module-PRoject是主工程,里面包含兩個(gè)模塊(Module):
- web-app是應(yīng)用層,用于界面展示,依賴于web-service參的服務(wù)。
- web-service層是服務(wù)層,用于給app層提供服務(wù)。
二、構(gòu)建項(xiàng)目
2.1 Parent Project
新建一個(gè)空白標(biāo)準(zhǔn)maven project(不要選擇Create from archetype選項(xiàng))

填寫(xiě)項(xiàng)目坐標(biāo)
得到一個(gè)標(biāo)準(zhǔn)的maven項(xiàng)目,因?yàn)樵擁?xiàng)目是作為一個(gè)Parent project存在的,可以直接刪除src文件夾。

2.2 增加web-app模塊(Module)

選擇從archetype創(chuàng)建(選擇webapp選項(xiàng))

groupId和version繼承自Parent project,這里只需要填寫(xiě)artifactId即可。

2.3增加web-service模塊
用同樣的方法創(chuàng)建web-service模塊(不過(guò)該模塊是一個(gè)空白maven標(biāo)準(zhǔn)項(xiàng)目,不要從archetype創(chuàng)建)

2.4 得最終項(xiàng)目結(jié)構(gòu)

2.5 關(guān)鍵幾點(diǎn)
- Parent project和各個(gè)Module擁有獨(dú)立pom文件,他們之間的關(guān)系后續(xù)會(huì)專門(mén)寫(xiě)文章介紹。
- Parent project用于組織不同的Module,不實(shí)現(xiàn)邏輯
- Module集成Parent project的groupId和version,Module只需要指定自己的artifactId即可。
三、添加項(xiàng)目依賴

上面的操作是添加web-app對(duì)web-service模塊的依賴,完成上述操作后web-Service中public的類已經(jīng)在web-app模塊中可見(jiàn)了。但是這個(gè)時(shí)候在app模塊使用了service模塊中的類,通過(guò)maven進(jìn)行編譯(compile)的時(shí)候還是會(huì)報(bào)錯(cuò)XX找不到(XX為service模塊的類),要解決這個(gè)問(wèn)題需要在app的pom中增加對(duì)service的依賴:
<dependency>
<groupId>com.cnblogs.kmpp</groupId>
<artifactId>web-service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
以上,項(xiàng)目依賴的添加已經(jīng)完成
四、開(kāi)始編程
4.1 web-service模塊編程
在web-service模塊中增加一個(gè)Service類(SimpleService.java)

4.2 web-app模塊編程
在web-app模塊增加一個(gè)Servlet,并且調(diào)用web-service模塊的SimpleService類的getServiceDescription方法。

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>
五、運(yùn)行
在web-app的pom中增加j2ee的依賴,以及jetty插件的依賴。運(yùn)行jetty。詳情
在瀏覽器中輸入:http://localhost:8080/web-app/simple-servlet
得到運(yùn)行結(jié)果:

六、結(jié)束
至此,本文完整演示了使用maven構(gòu)建多模塊項(xiàng)目
轉(zhuǎn)載自:http://www.rzrgm.cn/chenweichu/articles/6947370.html

浙公網(wǎng)安備 33010602011771號(hào)