目录
一、分模块开发意义
二、示例
1、新建模块
2、书写模块代码
3、通过maven指令安装模块到本地仓库
三、可选依赖
四、排除依赖
五、聚合
使用
1、新建一个新的模块
2、设置打包类型为pom
3、设置所包含的子模块名称
六、继承
1、新建模块,设置打包类型为pom
2、在父工程中配置子工程要用到的依赖
3、配置子工程可选择的依赖
4、在子工程中配置当前工程所继承的父工程
5、在子工程配置使用父工程可选依赖的坐标
一、分模块开发意义
将原始模块按照功能拆分成若干子模块,方便模块间的相互调用。
二、示例
将以下domain部分分离到一个新模块中。
1、新建模块
2、书写模块代码
将需要依赖的模块添加到pom.xml文件中,这里只是定义了新模块,idea不会报错,但是并不能正常运行,因为本地仓库还没有下载新模块依赖。
3、通过maven指令安装模块到本地仓库
将新模块安装到本地仓库。
三、可选依赖
依赖中加入<optional>标签,隐藏当前工程所依赖的资源,隐藏后对应资源将不具有依赖性。
可选依赖用于以下情况:目前所用的依赖不想让别人看到,隐藏自己所用的依赖,别人不知道是否用到。
<!-- 依赖domain-->
<dependency>
<groupId>org.spring</groupId>
<artifactId>SSM_02</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 可选依赖,隐藏依赖-->
<optional>false</optional>
</dependency>
四、排除依赖
引用别人的模块依赖时,将他的某些依赖去除。
例如:SSM_02模块有log4j依赖,引用SSM_02模块但是不想使用log4j依赖时,可使用排除依赖。
<!-- 依赖domain-->
<dependency>
<groupId>org.spring</groupId>
<artifactId>SSM_02</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 排除依赖-->
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
五、聚合
将多个模块组织成一个整体,同时进行项目构建。
当工程某个模块发生更新,保障工程中与已更新模块关联的模块同步更新。
使用
1、新建一个新的模块
2、设置打包类型为pom
3、设置所包含的子模块名称
<!-- 设置管理的模块名称-->
<modules>
<module>../SSM</module>
<module>../SSM_02</module>
</modules>
六、继承
继承描述的是两个工程间的关系,子工程可继承父工程中的配置信息,常见于依赖关系的继承。
作用:简化配置,减少版本冲突。
1、新建模块,设置打包类型为pom
2、在父工程中配置子工程要用到的依赖
3、配置子工程可选择的依赖
与上一步骤不同的是子工程可选择用或不用此依赖
4、在子工程中配置当前工程所继承的父工程
<!-- 配置当前工程继承自parent工程-->
<parent>
<groupId>com.spring</groupId>
<artifactId>SSM_parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../SSM_parent/pom.xml</relativePath>
</parent>
5、在子工程配置使用父工程可选依赖的坐标
使用第三步的依赖坐标
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>