转载

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

multi-module-parent是主工程,里面包含两个模块(Module):

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

module-web是应用层,用于界面展示,依赖于module-core参的服务。 module-core层是服务层,用于给web层提供服务。

跟java的package类似,一般是按照的功能模块分module,比如:sso/cas/portal/activity/system,具体可根据需要

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)
以上两种方式都可以,现在更多的应该是倾向第一种按照功能来解耦,module前期可以配置成jar,后期也可以建立独有的页面,独立的站点,通过子域名的方式访问,各个功能模块解耦,趋向微服务架构

二、构建项目

2.1 Parent Project

新建一个空白标准maven project(不要选择Create from archetype选项)

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

填写项目坐标,得到一个标准的maven项目,因为该项目是作为一个Parent project存在的,可以直接删除src文件夹(父文件下只有自己的pom文件和模块文件)。

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

2.2 增加module-web模块(Module)

选择从archetype创建(选择webapp选项)

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

groupId和version继承自Parent project,这里只需要填写artifactId即可。

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

注意:这里Add as module to 有的人会删除,如果删除了创建的模块文件就会和父模块(parent)同级了,这里看个人喜欢。文件夹结构怎么样都行,重要的pom文件里面的父子结构要设置正确。

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

2.3增加module-core模块

用同样的方法创建module-core模块(不过该模块是一个空白maven标准项目,不要从archetype创建)

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

2.4 得最终项目结构

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)

2.5 关键几点

1,Parent project和各个Module拥有独立pom文件 2,Parent project用于组织不同的Module,不实现逻辑 3,Module集成Parent project的groupId和version,Module只需要指定自己的artifactId即可。

上面的操作是添加web对core模块的依赖,完成上述操作后core中public的类已经在web模块中可见了,如果不加模块依赖,web下的jsp用不了core里面的方法,会抱错:以上,项目依赖的添加已经完成。

如果想了解热部署和继承关系等配置请看: IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(二)

原文  https://juejin.im/post/5cf3f88df265da1bad56ee9e
正文到此结束
Loading...