IDEA建立多模塊JavaWeb項目

原始需求

現在做的項目是JavaWeb後臺服務,Web部分包含前端業務邏輯的實現和報表相關實現,其中報表部分是相對獨立的,除了提取數據的部分,與別的業務邏輯沒有相關。

業務邏輯部分包含的內容

  • 登入登出;
  • 權限控制;
  • 前端頁面引導;
  • 會話管理;
  • 外部接口;
  • 工程接口。
    由於做了前後端分離,前端屬於單頁面應用,直接連接MongoDB數據庫進行功能實現(除首頁部分外,可以跳過後端),所以這一部分的業務邏輯並不複雜,都是基礎部分。

報表部分包含的內容

報表作爲一個獨立的部分,以iFrame方式嵌入到前端頁面中即可。因此,報表模塊也是一個JavaWeb項目,包含對應的Controller響應請求。
另外,報表模塊還提供報表需要的程序數據源(使用帆軟的報表控件,MongoDB數據庫,使用程序數據源)。

父Project建立

  • 在IDEA中新建Maven Project,不選擇“Create from archetype”,填寫GroupId和ArtifactId,完成新建;
  • 由於該Project是要作爲父Project容器使用,因此不需要src目錄,刪除掉src目錄;
  • 如有需要,配置Maven本地倉庫的路徑(Settings中配置);
    這裏寫圖片描述
  • 設置Project bytecode version,在Java Compiler(Settings中)配置;(我這邊新建的工程缺省是1.5的JDK版本,還不曉得這個默認值是在哪裏配置的);
    這裏寫圖片描述
  • 需要注意到的就是父Project的pom中,packaging屬性爲pom;
  • 在pom中配置整個工程的一些缺省屬性;譬如如果使用了私服,需要配置repositories和pluginRepositories;另外就是一些工程默認配置(project.build.sourceEncoding、project.build.jdk、project.build.locales)等;再有就是各個依賴的jar包的版本信息等;

雙Web模塊建立

在父Project下新建Module。
- 因爲要新建的是Web模塊項目,因此在新建Maven項目的時候選擇“Create from archetype”,然後選擇webapp。
- 新建的時候設置ArtifactId即可,別的屬性會從父Project繼承;
- IDEA2016新建Maven的webapp項目以後,src/main目錄下沒有Java目錄,需要自行新建,並配置各個目錄的“Sources/Resources/Tests/Test Resources”屬性等;
這裏寫圖片描述
此時,Web子Module就新建起來了。
接下來編寫Controller/Service/Dao/Domain等,編寫前端文件,進行Web開發。

新建之後,在父Project的pom中會出現“modules”節點,子節點爲新建的Module。

Web共用基礎模塊建立

由於上面提到的業務模塊Webapp和報表模塊Webapp都會用到Dao的部分,這個Dao是以單例的方式來提供服務的,不涉及任何的框架。可以單獨提取爲一個獨立的Module,以jar包的方式提供服務。
- 新建一個普通的Maven項目,“Create from archetype”選擇“quickstart”方式進行新建;
- 配置對應的目錄屬性,並將相應的文件提取到該子Module中;
- 在pom中添加相關的依賴;
這裏遇到一個問題,就是使用Maven菜單Download和Reimport了一萬次都沒有能把依賴添加進來;刪除了iml文件和.idea文件夾後重試也不好用。
最後使用的辦法如下:
這裏寫圖片描述
這裏寫圖片描述
按照如上的方式,在Project Structure中,添加Library依賴,選擇本Project中已經包含的相關依賴即可添加成功。
- 在另外兩個Web項目中添加對本Module的依賴;
這裏寫圖片描述

先Build公用的子Module項目,然後分別編譯運行各個Web項目。跑通收工!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章