一、项目结构
multi-module-parent是主工程,里面包含两个模块(Module):
module-web是应用层,用于界面展示,依赖于module-core参的服务。 module-core层是服务层,用于给web层提供服务。
跟java的package类似,一般是按照的功能模块分module,比如:sso/cas/portal/activity/system,具体可根据需要
二、构建项目
2.1 Parent Project
新建一个空白标准maven project(不要选择Create from archetype选项)
2.2 增加module-web模块(Module)
选择从archetype创建(选择webapp选项)
注意:这里Add as module to 有的人会删除,如果删除了创建的模块文件就会和父模块(parent)同级了,这里看个人喜欢。文件夹结构怎么样都行,重要的pom文件里面的父子结构要设置正确。
2.3增加module-core模块
用同样的方法创建module-core模块(不过该模块是一个空白maven标准项目,不要从archetype创建)
2.4 得最终项目结构
2.5 关键几点
1,Parent project和各个Module拥有独立pom文件 2,Parent project用于组织不同的Module,不实现逻辑 3,Module集成Parent project的groupId和version,Module只需要指定自己的artifactId即可。
三、添加项目依赖
此外还需要在web的pom文件中增加对core的依赖,这个主要是为了web里面的Java模块调用core的服务:
四、开始编程
4.1 module-core模块编程
在core模块中增加一个Service类(SimpleService.java):
4.2 module-web模块编程
修改web下的jsp文件,调用core服务: