一. 聚合项目
在传统的项目中,通常采用MVC的设计思想, 将项目分成 pojo, dao,service,action,utils 等 包进行开发,pojo包放置实体类,dao放置数据库,service层处理业务,action进行控制,utils是使用的工具类, 项目很小时是可以的, 当项目过大时,这样就很不好操作了。 Maven 可以将其进行分开, 将pojo 层处理成一个模块,将dao 处理成一个 模块, 将 service层处理成一个模块,将action 处理成一个模块,将utils 处理成一个依赖, 各个 模块之间可以 自顶而下形式依赖, 就是一个父项目里面包含若干个子项目, 在运行的时候,只需要运行父项目即可。 这叫做聚合,父与子之间的聚合。 在父项目里面添加相应的依赖, 子项目因为继承于父项目,所以包含了相应的依赖, 各个 子项目就不需要单独添加依赖了, 但子项目之间的依赖还是要添加的。
我们在创建Maven 项目的时候, 有一个 Maven Module ,
在选择 packaging 时,有一个 pom 类型
这在 聚合项目中就可以用得到了。
二. 创建 SSM 类型的聚合项目
二.一 模块目录结构
目录结构是这样的
有一个父的项目, 名称叫 SSMParent, 里面包含一个工具模块 CommonUtils 还有一个正式的项目 SSMOA, 在SSMOA里面包含 SSMPojo,SSMDao,SSMService,SSMWeb 等模块。 其中,SSMDao依赖于 SSMPojo, SSMService依赖于 SSMDao, SSMWeb依赖于SSMService.
例子,仍然采用上一章节的例子。
二.二 创建SSMParent 父模块
文件—>新建----其他–>选择 Maven Project
点击下一步, 工作空间为eclipse的工作空间
点击完成后, 填写相应的信息, 注意 packaging 选择的是 pom 类型。
点击确定,则 SSMParent 模块创建完成。
pom.xml 显示
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yjl</groupId> <artifactId>SSMParent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> </project>
二.三 创建 CommonUtils 子模块
选中 SSMParent 项目, 进行新建—>其他—>选择 Maven Module
下一步, 填写 Module Name的值 为 CommonUtils ,
点击完成 ,
工具类嘛,都是 jar 类型。 父模块会被自动选择
CommonUtils 模块创建完成 。
这个时候,再观察 SSMParent 模块的 pom.xml 文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yjl</groupId> <artifactId>SSMParent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <!--多了一行--> <module>CommonUtils</module> </modules> </project>
观察 SSMParent 项目目录, 发现已经把 CommonUtils 项目包含了进去。