Maven基础篇3

server/2024/11/14 4:34:26/

Maven进阶

–分模块开发与设计

–聚合

–继承

–属性

–私服

1.分模块开发与设计

开发的时候是分包开发

在这里插入图片描述

一个人完成一个包即可;

甚至一个包需要多个人开发;需要对包进行拆分;

也就是将我们一个包的东西,拆分成一个工程;

关于导入一个Maven工程

在这里插入图片描述

接下来没有spring,因此直接手动学习配置;

模块拆分小结:

1.新建空模块

2.新建包;将原工程 的所有项目,挪过来;

3.复制完成后,有些不用的东西直接删除即可;

2.模块聚合

模块聚合解决的问题背景:

当进行模块拆分的时候,管理困难,其中一个模块进行更新,其相互依赖的模块不知道。为了方便其管理,进行模块聚合;

2.1添加一个工程

目的就是做模块管理,而不是做业务的模块

和普通maven模块一样,创建的空即可,不需要src

2.2定义pom来进行模块管理

看到这句话就表明,这个模块就是为了做模块管理的;

<package>pom</package>

2.3使用modules来定义管理哪些工程

<modules><module></module></modules>

module写入管理的工程名称,可以多个写入

在这里插入图片描述

无顺序关系;

3.关于资源文件的概述

所有资源文件都是以jar包存在

如果package什么都不写,那就是默认jar

模块的类型一共有三种:jar,war,pom

3.继承

在这里插入图片描述

在这里插入图片描述

模块依赖关系维护

来构建一个模块ssm来决定,其管理的模块的依赖资源的版本号

3.1父工程的写法

管理模块(package == pom)的定义父工程所需依赖,其他子类直接拿来用即可。

而且其定义依赖的方式

<depencyManagement> *** </dependencyManagement>

在这里插入图片描述

3.2子工程的写法

子工程是需要用父工程的东西;

<parent>gav<relativePath>填写父工程的pom文件</relativePath>
</parent>

3.3子工程gav变动

一旦继承父工程;

项目id与父工程不同

组id,version和父工程均保持一致;

4.继承或聚合的相同异同点

在这里插入图片描述

5.属性

对于父模块的配置也有可能存在版本统一的问题

为了解决此问题,我们引入属性;

通过属性配置一些版本等信号,后续大家直接用即可

写法

//里面写入具体的名称以及变量值;规范–技术名称.version

<properties><spring.version> 2.1 </spring.version>
</properties>

里面的spring.version可以理解为一个变量名

关于后面的资源如何使用此版本

${spring.version} 类似于shell的写法

具体如下:

在这里插入图片描述


在这里插入图片描述

6.版本管理

在这里插入图片描述

在这里插入图片描述

做工程的时候直接在version写即可

7.多环境开发配置

在这里插入图片描述

–定义出多环境

–使用多环境

在这里插入图片描述

profiles定义多环境

profile定义生产环境

id,properties定义环境属性值id等

使用环境

在这里插入图片描述

新建maven运行指令 直接-P 然后写入环境名称即可


http://www.ppmy.cn/server/19957.html

相关文章

G2024-04-24 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-24统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5TypeScript项目3PowerShell项目1C++项目1非开发语言项目1LLaMA模型的C/C++移植 创建周期:306 天开发语言:C, C++协议类型:MIT Li…

基于SpringBoot的“家具销售电商平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“家具销售电商平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 管理员登录界面 管理员功能界面 家具分类管理…

SpringVue,四种常用的请求,如何编写

四种请求各是什么意思 post 约等于插入操作 insert get 就是查询 put 是修改 delete 。。。 DemoController.java package com.example.demo.controller;import org.springframework.web.bind.annotation.*;CrossOrigin RequestMapping("/test") // 将公共路径添加…

K8s: 从集群外部访问Service

从集群外部访问 Service 1 &#xff09;概述 在前面我们一直实践的是在集群内部访问 Service&#xff0c;之前有2种方法 方法1&#xff1a;在一个node节点上&#xff0c;通过对创建的的时候&#xff0c;对port进行一个环境变量的注册来保证Service能够正确对 不同的pod 访问到…

(ChatGPT中文、吾爱Al、核桃、WeexAl地址发布页、ai创作、Chat中文)分享好用的ChatGPT

目录 1、ChatGPT 中文 - Chat GPT 2、吾爱AI 3、 核桃 4、WeexAI 地址发布页 5、ai创作

SHELL脚本编程----netstat练习3-输出每个IP的连接数

描述 假设netstat命令运行的结果我们存储在nowcoder.txt里&#xff0c;格式如下&#xff1a; Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:6160 0.0.0.0:* LISTEN tcp 0 0…

2024年深圳杯东三省数学建模联赛A题论文首发第二种思路

深圳杯A题论文代码分享资料链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1L2NVgoefSW-yuqZjEB3wcw 提取码&#xff1a;sxjm 问题一 数据转换&#xff1a; 首先&#xff0c;我们将监测站的经纬度坐标转换为基于米的笛卡尔坐标系。这是因为在地面上的大尺度距离…

txt大文件拆分(批量版)

之前的python程序只能拆分单个文件&#xff0c;这里重新加了个文件夹拆分的功能&#xff08;打包好的exe文件在文章末尾&#xff09; 使用步骤&#xff1a;运行代码–>把文件放到input文件夹里–>命令行界面回车–>output文件夹输出文件 outputPath "./output&q…