IDEA建立多模块JavaWeb项目 - Go语言中文社区

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项目。跑通收工!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/achang07/article/details/77336220
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 19:37:04
  • 阅读 ( 1187 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢