[JavaWeb]【十四】web后端开发-MAVEN高级

目录

一、分模块设计与开发

1.1 分模块设计

 1.2 分模块设计-实践​编辑

1.2.1 复制老项目改为spring-boot-management

1.2.2 新建maven模块runa-pojo

1.2.2.1 将原项目pojo复制到runa-pojo模块

 1.2.2.2 runa-pojo引入新依赖

1.2.2.3 删除原项目pojo包

1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖

1.2.3 新建maven模块runa-utils

 1.2.3.1 将原项目utils复制到runa-utils模块

 1.2.3.2 runa-utils引入依赖

1.2.3.3 spring-boot-management删除依赖

1.2.3.4 删除原项目utils包

1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖

 1.2.4 启动服务-测试

 1.3 总结

二、继承与聚合

2.1 继承

 2.1.1 新建父工程模块runa-parent

 2.1.2 设置runa-parent打包方式为pom

2.1.3 设置runa-parent父工程未springboot

2.1.4 删除 runa-parent的src

2.1.5 修改spring-boot-management父工程为runa-parent

2.1.6 删除 spring-boot-management提示异常的标签

 2.1.7 在runa-pojo与runa-utils设置父工程和删除

2.1.8 在父工程runa-parent配置共有依赖

2.2 继承实现总结 

 2.3 版本锁定

 2.3.1 将runa-parent管理版本(子工程)

2.3.2 runa-utils依赖版本删除

2.3.3 自定义属性 

 2.3.3.1 runa-parent设置版本

2.3.3.2 总结

 2.2 聚合

 2.2.1 runa-parent添加

 2.2.2 runa-parent maven生命周期进行打包等

2.3 总结

三、私服

3.1 介绍

3.2 资源上传与下载

3.3 私服配置

3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)

3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)

3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用

3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)

3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)

3.3.6 启动本地私服

3.4 上传maven生命周期-deploy

3.5 下载


前言:

分模块设计开发是一种软件开发方法论,它将一个大型的软件系统按照不同的功能模块进行划分,每个模块独立设计、独立开发、独立测试、独立部署和独立维护。这有助于降低整个系统的复杂度,提高系统的可维护性和可扩展性。

分模块设计开发一般包含以下步骤:

1. 确定系统的功能模块:将整个系统划分成多个不同的功能模块,如登录模块、订单模块、支付模块等。

2. 设计每个模块的接口:在每个模块内部,设计该模块与其他模块的接口,包括输入输出参数、数据结构等。

3. 各个模块的独立开发:分别对每个模块进行独立的开发,每个开发人员只负责一个模块。

4. 集成测试:在开发完成后,对各个模块进行集成测试,测试各个模块之间的接口是否正常,是否能够协同工作。

5. 系统测试:对整个系统进行测试,模拟实际运行环境下的各种场景,保证系统整体的稳定性和可用性。

6. 部署上线:将整个系统部署到线上环境中,进行实际的运行。

分模块设计开发的优点:

1. 降低系统复杂度:将整个系统分模块开发,让开发人员专注于模块间的关系和模块内的逻辑,从而降低系统复杂度。

2. 提高可维护性:每个模块独立开发,修改某个模块不影响其他模块的使用,方便维护和升级。

3. 提高可扩展性:如果需要增加新的功能,只需要增加一个新的模块,不会影响到其他模块的运行。

4. 提高开发效率:多个开发人员可以并行开发不同的模块,加快开发进度。

一、分模块设计与开发

1.1 分模块设计

[JavaWeb]【十四】web后端开发-MAVEN高级_第1张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第2张图片

 1.2 分模块设计-实践[JavaWeb]【十四】web后端开发-MAVEN高级_第3张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第4张图片

1.2.1 复制老项目改为spring-boot-management

新建文件夹spring_boot_project01

将之前方面复制过来改成 spring-boot-management

打开项目spring-boot-management 使用Rename 修改启动类等

1.2.2 新建maven模块runa-pojo

[JavaWeb]【十四】web后端开发-MAVEN高级_第5张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第6张图片

1.2.2.1 将原项目pojo复制到runa-pojo模块

[JavaWeb]【十四】web后端开发-MAVEN高级_第7张图片

 1.2.2.2 runa-pojo引入新依赖

  
    
      org.projectlombok
      lombok
      1.18.24
    

1.2.2.3 删除原项目pojo包

1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖

        
            com.runa
            runa-pojo
            1.0-SNAPSHOT
        

1.2.3 新建maven模块runa-utils

[JavaWeb]【十四】web后端开发-MAVEN高级_第8张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第9张图片

 1.2.3.1 将原项目utils复制到runa-utils模块

[JavaWeb]【十四】web后端开发-MAVEN高级_第10张图片

 1.2.3.2 runa-utils引入依赖

    
        
            io.jsonwebtoken
            jjwt
            0.9.1
        


     
        
            com.aliyun.oss
            aliyun-sdk-oss
            3.15.1
        
        
            javax.xml.bind
            jaxb-api
            2.3.1
        
        
            javax.activation
            activation
            1.1.1
        
        
        
            org.glassfish.jaxb
            jaxb-runtime
            2.3.3
        
        
    
      org.springframework.boot
      spring-boot-starter-web
      3.1.2
    
    
    
      org.projectlombok
      lombok
      1.18.24
    

1.2.3.3 spring-boot-management删除依赖

    
        
            io.jsonwebtoken
            jjwt
            0.9.1
        


     
        
            com.aliyun.oss
            aliyun-sdk-oss
            3.15.1
        
        
            javax.xml.bind
            jaxb-api
            2.3.1
        
        
            javax.activation
            activation
            1.1.1
        
        
        
            org.glassfish.jaxb
            jaxb-runtime
            2.3.3
        

1.2.3.4 删除原项目utils包

1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖

        
            com.runa
            runa-utils
            1.0-SNAPSHOT
        

 1.2.4 启动服务-测试

[JavaWeb]【十四】web后端开发-MAVEN高级_第11张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第12张图片

 1.3 总结

[JavaWeb]【十四】web后端开发-MAVEN高级_第13张图片

二、继承与聚合

2.1 继承

[JavaWeb]【十四】web后端开发-MAVEN高级_第14张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第15张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第16张图片

 2.1.1 新建父工程模块runa-parent

 [JavaWeb]【十四】web后端开发-MAVEN高级_第17张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第18张图片

 2.1.2 设置runa-parent打包方式为pom

pom

2.1.3 设置runa-parent父工程未springboot

   
        org.springframework.boot
        spring-boot-starter-parent
        3.1.2
         
    

2.1.4 删除 runa-parent的src

2.1.5 修改spring-boot-management父工程为runa-parent

 
        com.runa
        runa-parent
        1.0-SNAPSHOT
        ../runa-parent/pom.xml
    
    

2.1.6 删除 spring-boot-management提示异常的标签

com.runa

 [JavaWeb]【十四】web后端开发-MAVEN高级_第19张图片

 2.1.7 在runa-pojo与runa-utils设置父工程和删除

[JavaWeb]【十四】web后端开发-MAVEN高级_第20张图片

2.1.8 在父工程runa-parent配置共有依赖

将子工程共有的依赖剪切到父工程

2.2 继承实现总结 

[JavaWeb]【十四】web后端开发-MAVEN高级_第21张图片

[JavaWeb]【十四】web后端开发-MAVEN高级_第22张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第23张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第24张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第25张图片

 2.3 版本锁定

[JavaWeb]【十四】web后端开发-MAVEN高级_第26张图片

[JavaWeb]【十四】web后端开发-MAVEN高级_第27张图片

 2.3.1 将runa-parent管理版本(子工程)

 
  
    
      
      
        io.jsonwebtoken
        jjwt
        0.9.1
      
      
      
        com.aliyun.oss
        aliyun-sdk-oss
        3.15.1
      
      
        javax.xml.bind
        jaxb-api
        2.3.1
      
      
        javax.activation
        activation
        1.1.1
      
      
      
        org.glassfish.jaxb
        jaxb-runtime
        2.3.3
      
      
      
        org.springframework.boot
        spring-boot-starter-web
        3.1.2
      
    
  

2.3.2 runa-utils依赖版本删除

 

    
    
      io.jsonwebtoken
      jjwt      
    
    
    
      com.aliyun.oss
      aliyun-sdk-oss    
    
    
      javax.xml.bind
      jaxb-api   
    
    
      javax.activation
      activation      
    
    
    
      org.glassfish.jaxb
      jaxb-runtime   
    
    
    
      org.springframework.boot
      spring-boot-starter-web     
    


  

2.3.3 自定义属性 

[JavaWeb]【十四】web后端开发-MAVEN高级_第28张图片 [JavaWeb]【十四】web后端开发-MAVEN高级_第29张图片

 2.3.3.1 runa-parent设置版本

  
    UTF-8
    1.18.24
  
  
    
      org.projectlombok
      lombok
      ${lombok.version}
    

 其他依次设置


  4.0.0
  
    org.springframework.boot
    spring-boot-starter-parent
    3.1.2
     
  
  com.runa
  runa-parent
  1.0-SNAPSHOT
  pom

  runa-parent
  http://maven.apache.org

  
    UTF-8
    1.18.24
    0.9.1
    3.15.1
    2.3.1
    1.1.1
    2.3.3

    3.1.2 
  

  
    
      junit
      junit
      3.8.1
      test
    

    
    
      org.projectlombok
      lombok
      ${lombok.version}
    
  

      
  
    
      
      
        io.jsonwebtoken
        jjwt
        ${jjwt.version}
      
      
      
        com.aliyun.oss
        aliyun-sdk-oss
        ${aliyun.oss.version}
      
      
        javax.xml.bind
        jaxb-api
        ${jaxb.version}
      
      
        javax.activation
        activation
        ${activation.version}
      
      
      
        org.glassfish.jaxb
        jaxb-runtime
        ${jaxb.runtime.version}
      
      
      
        org.springframework.boot
        spring-boot-starter-web

        ${spring-boot-starter-web}
      
    
  


2.3.3.2 总结

[JavaWeb]【十四】web后端开发-MAVEN高级_第30张图片

 2.2 聚合

[JavaWeb]【十四】web后端开发-MAVEN高级_第31张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第32张图片

 2.2.1 runa-parent添加


  
    ../runa-pojo
    ../runa-utils
    ../spring-boot-management

  


  4.0.0
  
    org.springframework.boot
    spring-boot-starter-parent
    3.1.2
     
  
  com.runa
  runa-parent
  1.0-SNAPSHOT
  pom


  
    ../runa-pojo
    ../runa-utils
    ../spring-boot-management

  


  runa-parent
  http://maven.apache.org

  
    UTF-8
    1.18.24
    0.9.1
    3.15.1
    2.3.1
    1.1.1
    2.3.3

    3.1.2
  

  
    
      junit
      junit
      3.8.1
      test
    

    
    
      org.projectlombok
      lombok
      ${lombok.version}
    
  

      
  
    
      
      
        io.jsonwebtoken
        jjwt
        ${jjwt.version}
      
      
      
        com.aliyun.oss
        aliyun-sdk-oss
        ${aliyun.oss.version}
      
      
        javax.xml.bind
        jaxb-api
        ${jaxb.version}
      
      
        javax.activation
        activation
        ${activation.version}
      
      
      
        org.glassfish.jaxb
        jaxb-runtime
        ${jaxb.runtime.version}
      
      
      
        org.springframework.boot
        spring-boot-starter-web

        ${spring-boot-starter-web}
      
    
  


 2.2.2 runa-parent maven生命周期进行打包等

[JavaWeb]【十四】web后端开发-MAVEN高级_第33张图片

2.3 总结

[JavaWeb]【十四】web后端开发-MAVEN高级_第34张图片

三、私服

3.1 介绍

[JavaWeb]【十四】web后端开发-MAVEN高级_第35张图片

3.2 资源上传与下载

[JavaWeb]【十四】web后端开发-MAVEN高级_第36张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第37张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第38张图片

[JavaWeb]【十四】web后端开发-MAVEN高级_第39张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第40张图片

3.3 私服配置

 私服配置说明

访问私服:http://192.168.150.101:8081

访问密码:admin/admin

下载地址

使用私服,需要在maven的settings.xml配置文件中,做如下配置:

3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)


    maven-releases
    admin
    admin

    

    maven-snapshots
    admin
    admin

3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)


    maven-public
    *
    http://192.168.150.101:8081/repository/maven-public/

3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用


    allow-snapshots
        
            true
        
    
        
            maven-public
            http://192.168.150.101:8081/repository/maven-public/
            
                true
            
            
                true
            
        
    

3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)


    
    
        maven-releases
        http://192.168.150.101:8081/repository/maven-releases/
    
    
    
    
        maven-snapshots
        http://192.168.150.101:8081/repository/maven-snapshots/
    

3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)

3.3.6 启动本地私服

1、解压: apache-maven-nexus.zip

2、进入目录: apache-maven-nexus\nexus-3.39.0-01\bin   #(注意解压不要有中文路径)

3、启动服务:双击 start.bat

4、访问服务:localhost:8081

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

3.4 上传maven生命周期-deploy

[JavaWeb]【十四】web后端开发-MAVEN高级_第41张图片

 [JavaWeb]【十四】web后端开发-MAVEN高级_第42张图片

3.5 下载

新项目配置依赖

[JavaWeb]【十四】web后端开发-MAVEN高级_第43张图片

 要验证下载,先将本地仓库的删除掉

[JavaWeb]【十四】web后端开发-MAVEN高级_第44张图片

你可能感兴趣的:(java,maven,私服,分模块开发与设计,springboot,java)