本文通過一個例子來介紹利用maven來構建一個多模塊的jave項目。開發工具:intellij idea。
multi-module-PRoject是主工程,里面包含兩個模塊(Module):
新建一個空白標準maven project(不要選擇Create from archetype選項)
填寫項目坐標
得到一個標準的maven項目,因為該項目是作為一個Parent project存在的,可以直接刪除src文件夾。
選擇從archetype創建(選擇webapp選項)
groupId和version繼承自Parent project,這里只需要填寫artifactId即可。
用同樣的方法創建web-service模塊(不過該模塊是一個空白maven標準項目,不要從archetype創建)
上面的操作是添加web-app對web-service模塊的依賴,完成上述操作后web-Service中public的類已經在web-app模塊中可見了。但是這個時候在app模塊使用了service模塊中的類,通過maven進行編譯(compile)的時候還是會報錯XX找不到(XX為service模塊的類),要解決這個問題需要在app的pom中增加對service的依賴:
<dependency> <groupId>com.VEVb.kmpp</groupId> <artifactId>web-service</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
以上,項目依賴的添加已經完成
在web-service模塊中增加一個Service類(SimpleService.java)
在web-app模塊增加一個Servlet,并且調用web-service模塊的SimpleService類的getServiceDescription方法。
<!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.VEVb.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構建多模塊項目。
新聞熱點
疑難解答