【Maven】—— SSM分模块开发

发布时间:2024年01月19日

目录

一、分模块开发意义

二、示例

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>

文章来源:https://blog.csdn.net/Tir_zhang/article/details/135680785
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。