8-8 Maven高级,分模,继承,聚合,私服配置

Maven高级

分模块设计与开发

未分模块设计不方便项目的维护和管理、项目中的通用组件难以复用

分模块设计就是将项目按照功能/结构拆分成若干个子模块,方便项目的管理维护、拓展,也方便模块键的相互调用、资源共享。

模块拆分实现

创建maven模块,存放实体类和工具类,注入实现功能需要的依赖,删除原有的包,模块注入依赖

继承与聚合

继承实现

在真实的企业开发中,都是先设计好模块之后,再开始创建模块,开发项目。

Maven打包方式:

  • jar:普通模块打包,springboot项目基本都是jar包(内嵌tomcat运行)

  • war:普通web程序打包,需要部署在外部的tomcat服务器中运行

  • pom:父工程或聚合工程,该模块不写代码,仅进行依赖管理

1,生成maven模块为父类工程,父类继承SpringBoot ,修改打包的方式为pom。

//继承父类SpringBoot 
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.5</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
​
<groupId>com.itheima</groupId>
<artifactId>tlias-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging> //修改打包方式

2,子类继承父类

<parent>
    <groupId>com.itheima</groupId>
    <artifactId>tlias-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../tlias-parent/pom.xml</relativePath>//声明路径
</parent>
​
<groupId>com.itheima</groupId>//继承父类为冗余可以删除
<artifactId>tlias-utils</artifactId> 
<version>1.0-SNAPSHOT</version>

3,父类添加公共依赖(子工程会自动继承父工程的依赖)

版本锁定

在maven中,可以在父工程的pom文件中通过 <dependencyManagement> 来统一管理依赖版本。

父工程:

<!--统一管理依赖版本-->  定义版本让子类继承
<dependencyManagement>
    <dependencies>
        <!--JWT令牌-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>
    </dependencies>
</dependencyManagement>

子工程:

<dependencies>   //继承父类可省略版本
    <!--JWT令牌-->
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
    </dependency>
</dependencies>

属性配置

自定义属性

<properties>
    <lombok.version>1.18.24</lombok.version>
</properties>

引用属性

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>${lombok.version}</version>
</dependency>

**<dependencyManagement>****<dependencies>** 的区别是什么?**

  • <dependencies> 是直接依赖,在父工程配置了依赖,子工程会直接继承下来。

  • <dependencyManagement> 是统一管理依赖版本,不会直接依赖,还需要在子工程中引入所需依赖(无需指定版本)

聚合

  • 聚合:将多个模块组织成一个整体,同时进行项目的构建。

  • 聚合工程:一个不具有业务功能的“空”工程(有且仅有一个pom文件) 【PS:一般来说,继承关系中的父工程与聚合关系中的聚合工程是同一个】

  • 作用:快速构建项目(无需根据依赖关系手动构建,直接在聚合工程上构建即可)

<!--聚合其他模块-->
<modules>
    <module>../tlias-pojo</module>
    <module>../tlias-utils</module>
    <module>../tlias-web-management</module>
</modules>

继承与聚合对比

作用:

聚合用于快速构建项目

继承用于简化依赖配置、统一管理依赖

相同点:

聚合与继承的pom.xml文件打包方式均为pom,通常将两种关系制作到同一个pom文件中

聚合与继承均属于设计型模块,并无实际的模块内容

不同点:

聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些

继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

私服配置

第一步配置:在maven的配置文件中配置访问私服的用户名、密码。

第二步配置:在maven的配置文件中配置连接私服的地址(url地址)。

第三步配置:在项目的pom.xml文件中配置上传资源的位置(url地址)。

配置好了上述三步之后,要上传资源到私服仓库,就执行执行maven生命周期:deploy。

注意点:

解压: 资料中提供的压缩包 apache-maven-nexus.zip

进入目录: apache-maven-nexus\nexus-3.39.0-01\bin

启动服务:双击 start.bat

访问服务:localhost:8081

私服配置说明:将上述配置私服信息的 192.168.150.101 改为 localhost

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值