基於maven的javaweb項目模塊化開發

基於maven的javaweb項目模塊化開發

引言

考慮團隊擁有多個相似項目的狀況,好比一些功能差別不大的cms系統,這些系統有相同的基礎代碼。css

若是每一個項目拷貝整套代碼,進行獨立管理,那麼維護代價很大,若是要修改一個基礎代碼,須要修改全部項目的相同地方的代碼。html

因此要找一個把項目模塊化的方法,以便於維護。java

目標

  1. 最重要的是實現基礎代碼複用,包括java代碼,以及webapp中的jsp,css,js等代碼;
  2. 多個開發者能夠方便獲取和修改基礎代碼,最好有集中式的模塊遠程倉庫;
  3. 可以在脫離模塊遠程倉庫的狀況下,實現本地多模塊編譯集成,這樣萬一出差在外也能工做;
  4. 可以方便的合併多個模塊,最好一兩條命令能實現;
  5. 修改代碼後可以快速的在服務器(好比tomcat)上運行,方便調試;

方案簡述

爲了實現上訴目標,通過兩天的調研和實踐,提出了以下方案:web

  1. 採用maven多模塊技術;
  2. 基礎的java代碼做爲一個模塊ma.jar,採用jar打包;
  3. 基礎的webapp文件及關聯緊密的java代碼,做爲模塊mb.war,採用war打包;
  4. 採用nexus服務器集中管理模塊,好比ma.jar和mb.war;
  5. 實際的項目在pom.xml文件中聲明依賴ma.jar和mb.war;
  6. mb.war是war文件,採用maven的overlays技術實現合併,主要策略是後來的war包文件不能覆蓋已有的war包文件;
  7. 在eclipse-kepler下開發,配置項目的Deployment Assembly,指定target/項目名稱 = / ,而後項目發佈到eclipse的tomcat。 即項目運行mvn package之後,tomcat將運行結果war包;

相信有更好的方案,歡迎賜教。apache

詳細配置

未完待續...tomcat

相關文章
相關標籤/搜索