Maven 多模块项目(如微服务架构)中,父 POM(最外层) 和 子模块 POM(具体业务模块)的区别和联系

文章目录

  • **1. 父 POM 的核心职责**
    • **1.1 依赖管理 (`dependencyManagement`)**
    • **1.2 插件管理 (`pluginManagement`)**
    • **1.3 其他公共配置**
  • **2. 子模块 POM 的核心职责**
    • **2.1 依赖声明 (`dependencies`)**
    • **2.2 插件启用与覆盖 (`plugins`)**
  • **3. 核心对比表**
  • **4. 使用场景示例**
    • **场景 1:统一管理 Spring Boot 依赖**
    • **场景 2:覆盖插件配置**
  • **5. 最佳实践**
  • **6:总结**
  • 7:完整父子pom实例
    • 1、父pom
    • 2、子pom

1. 父 POM 的核心职责

父 POM 是项目的 全局配置中心,负责统一管理依赖版本、插件版本和公共配置,确保所有子模块的一致性。

1.1 依赖管理 (dependencyManagement)

  • 作用:集中定义依赖的版本和范围,子模块引用时无需重复指定版本。

  • 示例

    <!-- 父 POM -->
    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.1.5</version></dependency></dependencies>
    </dependencyManagement>
    

1.2 插件管理 (pluginManagement)

  • 作用:统一插件版本和默认配置,子模块按需启用。

  • 示例

    <!-- 父 POM -->
    <build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><configuration><source>17</source><target>17</target></configuration></plugin></plugins></pluginManagement>
    </build>
    

1.3 其他公共配置

  • 定义全局属性(如 <properties> 中的 Java 版本)。
  • 声明模块聚合(<modules>)。
     <modules><module>auth</module><module>gateway</module><module>modules</module><module>api</module><module>common</module>
    </modules>
    

2. 子模块 POM 的核心职责

子模块 POM 负责 具体模块的实现配置,继承父 POM 的依赖和插件模板,并按需覆盖或扩展。

2.1 依赖声明 (dependencies)

  • 规则

    • 如果依赖在父 POM 的 dependencyManagement 中定义,子模块只需声明 groupIdartifactId
    • 如果依赖未在父 POM 中定义,需在子模块中完整声明(含版本)。
  • 示例

    <!-- 子模块 POM -->
    <dependencies><!-- 继承父 POM 的版本 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 独立声明新依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.33</version></dependency>
    </dependencies>
    

2.2 插件启用与覆盖 (plugins)

  • 规则

    • 如果插件在父 POM 的 pluginManagement 中定义,子模块只需声明插件坐标即可继承配置。
    • 子模块可覆盖父 POM 的插件配置(如修改参数、绑定生命周期)。
  • 示例

    <!-- 子模块 POM -->
    <build><plugins><!-- 继承父 POM 的编译插件配置 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId></plugin><!-- 覆盖父 POM 的配置 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests> <!-- 禁用测试 --></configuration></plugin></plugins>
    </build>
    

3. 核心对比表

配置项父 POM子模块 POM
依赖管理<dependencyManagement> 定义版本<dependencies> 声明具体依赖
插件管理<pluginManagement> 定义版本和配置<plugins> 启用插件或覆盖配置
版本控制集中管理,避免冲突继承父版本或独立声明
配置覆盖不可覆盖可覆盖父 POM 的配置(如插件参数)
强制性可选(但推荐)必须显式声明需要的依赖或插件

4. 使用场景示例

场景 1:统一管理 Spring Boot 依赖

  • 父 POM

    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>3.1.5</version><type>pom</type><scope>import</scope></dependency></dependencies>
    </dependencyManagement>
    
  • 子模块

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
    </dependencies>
    

场景 2:覆盖插件配置

  • 父 POM

    <pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>3.2.1</version><configuration><skipTests>false</skipTests></configuration></plugin></plugins>
    </pluginManagement>
    
  • 子模块

    <plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests> <!-- 覆盖父 POM 配置 --></configuration></plugin>
    </plugins>
    

5. 最佳实践

  1. 父 POM 原则
    • 仅在 dependencyManagementpluginManagement 中定义版本,不直接使用 <dependencies><plugins>
    • 通过 <properties> 统一管理版本号,避免硬编码。
  2. 子模块原则
    • 仅声明需要的依赖和插件,避免冗余配置。
    • 覆盖父 POM 配置时需明确标注(如注释说明)。
  3. 版本一致性
    • 公共依赖(如 Spring Boot、Lombok)应在父 POM 中统一管理。
    • 业务特定依赖(如某个工具类库)可在子模块中独立声明。

6:总结

  • 父 POM模板,负责定义“用什么版本”。
  • 子模块 POM实例,负责声明“具体用哪些”。
  • 通过合理分工,既能保证一致性,又能满足模块个性化需求。

7:完整父子pom实例

1、父pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.wkl</groupId><artifactId></artifactId><version>3.6.5</version><name></name><url>http://www..vip</url><description>开发系统</description><properties><version>3.6.5</version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-boot.version>2.7.18</spring-boot.version><spring-cloud.version>2021.0.9</spring-cloud.version><spring-cloud-alibaba.version>2021.0.6.1</spring-cloud-alibaba.version><spring-boot-admin.version>2.7.16</spring-boot-admin.version><tobato.version>1.27.2</tobato.version><kaptcha.version>2.3.3</kaptcha.version><pagehelper.boot.version>2.0.0</pagehelper.boot.version><druid.version>1.2.23</druid.version><namic-ds.version>4.3.1</namic-ds.version><commons.io.version>2.13.0</commons.io.version><velocity.version>2.3</velocity.version><fastjson.version>2.0.53</fastjson.version><jjwt.version>0.9.1</jjwt.version><minio.version>8.2.2</minio.version><poi.version>4.1.2</poi.version><springdoc.version>1.6.9</springdoc.version><transmittable-thread-local.version>2.14.4</transmittable-thread-local.version><org.mapstruct.version>1.6.3</org.mapstruct.version><hutool.version>5.8.25</hutool.version><lombok.version>1.18.30</lombok.version><!-- override dependency version --><tomcat.version>9.0.98</tomcat.version><logback.version>1.2.13</logback.version><spring-framework.version>5.3.39</spring-framework.version></properties><!-- 依赖声明 --><dependencyManagement><dependencies><!-- 覆盖SpringFramework的依赖配置--><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><version>${spring-framework.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud 微服务 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud Alibaba 微服务 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringBoot 依赖配置 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!-- 覆盖logback的依赖配置--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><!-- 覆盖tomcat的依赖配置--><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId><version>${tomcat.version}</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-el</artifactId><version>${tomcat.version}</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-websocket</artifactId><version>${tomcat.version}</version></dependency><!-- FastDFS 分布式文件系统 --><dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>${tobato.version}</version></dependency><!-- Springdoc webmvc 依赖配置 --><dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-ui</artifactId><version>${springdoc.version}</version></dependency><!-- 验证码 --><dependency><groupId>pro.fessional</groupId><artifactId>kaptcha</artifactId><version>${kaptcha.version}</version></dependency><!-- pagehelper 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>${pagehelper.boot.version}</version></dependency><!-- io常用工具类 --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${commons.io.version}</version></dependency><!-- excel工具 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>${poi.version}</version></dependency><!-- 代码生成使用模板 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>${velocity.version}</version></dependency><!-- JSON 解析器和生成器 --><dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>${fastjson.version}</version></dependency><!-- JWT --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>${jjwt.version}</version></dependency><!-- 线程传递值 --><dependency><groupId>com.alibaba</groupId><artifactId>transmittable-thread-local</artifactId><version>${transmittable-thread-local.version}</version></dependency><!-- 核心模块 --><dependency><groupId>com.wkl</groupId><artifactId>-common-core</artifactId><version>${.version}</version></dependency><!-- 接口模块 --><dependency><groupId>com.wkl</groupId><artifactId>-common-swagger</artifactId><version>${.version}</version></dependency><!-- 安全模块 --><dependency><groupId>com.wkl</groupId><artifactId>-common-security</artifactId><version>${.version}</version></dependency><!-- 权限范围 --><dependency><groupId>com.wkl</groupId><artifactId>-common-datascope</artifactId><version>${.version}</version></dependency><!-- 多数据源 --><dependency><groupId>com.wkl</groupId><artifactId>-common-datasource</artifactId><version>${.version}</version></dependency><!-- 分布式事务 --><dependency><groupId>com.wkl</groupId><artifactId>-common-seata</artifactId><version>${.version}</version></dependency><!-- 日志记录 --><dependency><groupId>com.wkl</groupId><artifactId>-common-log</artifactId><version>${.version}</version></dependency><!-- 缓存服务 --><dependency><groupId>com.wkl</groupId><artifactId>-common-redis</artifactId><version>${.version}</version></dependency><!-- 系统接口 --><dependency><groupId>com.wkl</groupId><artifactId>-api-system</artifactId><version>${.version}</version></dependency><!-- map转换 --><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${org.mapstruct.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version><scope>provided</scope></dependency><!--            <dependency>-->
<!--                <groupId>cn.hutool</groupId>-->
<!--                <artifactId>hutool-all</artifactId>-->
<!--                <version>${hutool.version}</version>-->
<!--            </dependency>--></dependencies></dependencyManagement><modules><module>auth</module><module>gateway</module><module>modules</module><module>api</module><module>common</module></modules><packaging>pom</packaging><dependencies><!-- bootstrap 启动器 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${java.version}</source><target>${java.version}</target><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin></plugins><pluginManagement><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><configuration><annotationProcessorPaths><!-- Lombok 处理器 --><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></path><!-- MapStruct 处理器 --><path><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>1.5.5.Final</version></path></annotationProcessorPaths></configuration></plugin></plugins></pluginManagement></build><repositories><repository><id>public</id><name>aliyun nexus</name><url>https://maven.aliyun.com/repository/public</url><releases><enabled>true</enabled></releases></repository></repositories><pluginRepositories><pluginRepository><id>public</id><name>aliyun nexus</name><url>https://maven.aliyun.com/repository/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories></project>

2、子pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>-modules</artifactId><groupId>com.wkl</groupId><version>3.6.5</version></parent><modelVersion>4.0.0</modelVersion><artifactId>business</artifactId><description>modules-bus业务模块</description><dependencies><!-- SpringCloud Alibaba Nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- SpringCloud Alibaba Nacos Config --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!-- SpringCloud Alibaba Sentinel --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><!-- SpringBoot Actuator --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- Mysql Connector --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId></dependency><!-- RuoYi Common DataSource --><dependency><groupId>com.wkl</groupId><artifactId>-common-datasource</artifactId></dependency><!-- RuoYi Common DataScope --><dependency><groupId>com.wkl</groupId><artifactId>-common-datascope</artifactId></dependency><!-- RuoYi Common Log --><dependency><groupId>com.wkl</groupId><artifactId>-common-log</artifactId></dependency><!-- RuoYi Common Swagger --><dependency><groupId>com.wkl</groupId><artifactId>-common-swagger</artifactId></dependency><dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.15.5</version><exclusions><exclusion><artifactId>elasticsearch-rest-client</artifactId><groupId>org.elasticsearch.client</groupId></exclusion></exclusions></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>8.15.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.17.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.17.0</version></dependency><dependency><groupId>jakarta.json</groupId><artifactId>jakarta.json-api</artifactId><version>2.1.1</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!-- starter-test:junit + spring-test + mockito --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId></dependency></dependencies><build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42939.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[GESP202503 C++一级题解]:B4257:图书馆里的老鼠

[GESP202503 C++一级题解]:B4257:图书馆里的老鼠 题目描述 图书馆里有 n n n 本书,不幸的是,还混入了一只老鼠,老鼠每 x x x 小时能啃光一本书,假设老鼠在啃光一本书之前,不会啃另一本。请问 y y y 小时后图书馆里还剩下多少本完整的书。 输入格式 三行,第一行一…

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.2.2文本生成逻辑:Top-k采样与温度控制

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 2.2.2 文本生成逻辑:Top-k采样与温度控制1. 文本生成的核心挑战与数学框架1.1 自回归生成的基本流程2. `Top-k`采样原理与工程实现2.1 数学定义与算法流程2.2 PyTorch实现优化3. 温度控制的数学本质与参…

Unity中实现UI的质感和圆角

质感思路有两种&#xff1a; 一种是玻璃质感的做法&#xff0c;抓取UI后面的图像做模糊&#xff08;build是GrabPass&#xff0c;urp抓图像我有写过在往期文章&#xff09;&#xff0c;这个方式网络上有很多就不写了&#xff1b; 另外一种是使用CubeMap的方式去模拟质感&…

[异步监听事件、异步绑定属性]通过vue的this.$refs.组件.$props和.$on实现异步绑定组件属性和事件监听

child.vue <template><div><el-button type"primary" click.stop"$emit(get, data)">点击传参</el-button></div> </template> <script> export default { name: "child", props: ["data"…

第六届 蓝桥杯 嵌入式 省赛

参考 第六届蓝桥杯嵌入式省赛程序设计题解析&#xff08;基于HAL库&#xff09;_蓝桥杯嵌入式第六届真题-CSDN博客 一、分析功能 RTC 定时 1&#xff09;时间初始化 2&#xff09;定时上报电压时间 ADC测量 采集电位器的输出电压信号。 串行功能 1&#xff09;传送要设置…

为什么要将项目部署到外部tomcat

一、是什么 指将你的Java Web应用程序&#xff08;如WAR包&#xff09;安装并运行在一个独立安装的、位于项目外部的Tomcat服务器上&#xff0c;而不是使用内嵌的或开发环境自带的服务器。 外部Tomcat 指独立安装的Tomcat服务器&#xff08;如从Apache官网下载的Tomcat&#…

企业级全栈开发终极指南:Spring Boot+Vue3+Kubernetes实战,从0到上线高并发系统

简介 本文以电商系统为例,完整呈现从需求分析到上线运维的企业级开发全流程。包含12个关键步骤、30+代码示例、5个架构设计图,以及完整的Docker/Kubernetes部署方案。所有代码均符合企业级规范,可直接用于生产环境。 企业级开发的终极挑战 行业痛点: 90%的开发者在企业级…

蓝桥杯嵌入式赛道复习笔记8(eeprom读写)

原理学习 自己看一下江科大的存储器的读取&#xff0c;原理是一样的。只是使用了IIC原理是不变的 代码 cubeMX的配置 代码 eeprom层代码的书写 #include "eeprom_display.h" uint8_t data; uint8_t eeprom_read(uint8_t addr){I2CStart();I2CSendByte(0xa0);I2…

IP数据报报文格式

一 概述 IP数据报由两部分组成&#xff1a;首部数据部分。首部的前一部分是固定长度&#xff0c;一共20字节大小&#xff0c;是所有IP数据报文必须具有的&#xff1b;固定部分后面是一些可选字段&#xff0c;其长度是可变的。 二 首部固定部分各字段意义 &#xff08;1&…

高光谱工业相机+LED光源系统助力材料分类和异物检测、实现高速在线检测

检测光源包括可见光&#xff0c;如红光、蓝光和绿光以及其他波长的光&#xff0c;如紫外和红外波长&#xff0c;可以选择与检测对象物相应的波长。但由于能够照射的波长较窄&#xff0c;例如受到同色异物混入或多个素材的材质分类等&#xff0c;可能需要使用可照射多种波长的光…

如何快速解决django存储session变量时出现的django.db.utils.DatabaseError错误

我们在学习django进行web编程的时候&#xff0c;有时需要将一些全局变量信息存储在session中&#xff0c;但使用过程中&#xff0c;却发现会引起数据库的报错。通过查看django源码信息&#xff0c;发现其对session信息进行了ORM映射&#xff0c;如果数据库中不存在对应的表信息…

kubeadm部署k8s-1.32版本集群(1个master,1个worker)

使用最新版的kubeadm部署一个最小版的k8s集群&#xff0c;只有一个master和1个worker&#xff0c;这种部署方式&#xff0c;不满足高可用&#xff0c;仅限于本地学习使用&#xff0c;不可以放到生产上用&#xff0c;先看一下文章的目录。 文章目录 1、基本信息1.1、服务器基本…

阀门流量控制系统MATLAB仿真PID

以下是一个基于MATLAB的PID控制仿真程序&#xff0c;用于模拟智能阀门流量控制系统。该程序包含系统模型、PID控制器以及饱和限制处理。 % 石油管道流量PID控制仿真 % 系统参数 valve_min 4; % 阀门最小电流 (mA) valve_max 25; % 阀门最大电流 (mA) max_flow 10…

UE4学习笔记 FPS游戏制作30 显示击杀信息 水平框 UI模板(预制体)

文章目录 一制作单条死亡信息框水平框的使用创建一个水平框添加子元素调整子元素顺序子元素的布局插槽尺寸填充对齐 制作UI 根据队伍&#xff0c;设置文本的名字和颜色声明变量 将变量设置为构造参数根据队伍&#xff0c;设置文本的名字和颜色在构造事件中&#xff0c;获取玩家…

机器学习——LightGBM

LightGBM(light gradient boosting machine&#xff0c;轻量梯度提升机)是对XGBoost进行改进的模型版本&#xff0c;其三者之间的演变关系为&#xff1a;GBDT-》XGBoost-》LightGBM&#xff0c;依次对性能进行优化&#xff0c;尽管XGBoost已经很高效了&#xff0c;但是仍然有缺…

什么是SQL作业

SQL作业是在数据库服务器上按特定时间或间隔自动执行的计划任务或流程&#xff0c;这些作业由Microsoft SQL Server中的SQL Server代理管理&#xff0c;对于自动执行日常任务&#xff08;如数据库系统中的备份、数据导入和报告生成&#xff09;以及确保及时准确地处理和更新数据…

小程序内表格合并功能实现—行合并

功能介绍&#xff1a;支付宝小程序手写表格实现行内合并&#xff0c;依据动态数据自动计算每次需求合并的值&#xff0c;本次记录行内合并&#xff0c;如果列内合并&#xff0c;同理即可实现 前端技术&#xff1a;grid布局 display&#xff1a;grid 先看实现效果: axml&…

CD19.【C++ Dev】类和对象(10) 日期类对象的成员函数(日期+天数)

目录 日期天数 需要考虑的几个问题 1.天数加在日上,有可能会溢出,需要进位 2.对月进位,也有可能导致月会溢出,需要进位 3.对年进位,需要考虑是否为闰年 代码设计 取得指定月的天数GetMonthDay函数 方法1:if判断或switch/case 方法2:查表 版本1 版本2 operator 初始…

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.2.3实战案例:在笔记本电脑上运行轻量级LLM

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 实战案例:在笔记本电脑上运行轻量级LLM2.2.3 模型架构设计与实现1. 环境与工具准备1.1 硬件要求1.2 软件栈选择2. 轻量级模型架构设计2.1 模型参数配置2.2 关键技术优化3. 实战流程3.1 数据准备流程3.2…

新手村:逻辑回归-理解04:熵是什么?

新手村&#xff1a;逻辑回归04&#xff1a;熵是什么? 熵是什么? 前置条件 在开始学习逻辑回归中的熵理论之前&#xff0c;需要掌握以下基础知识&#xff1a; 概率论与统计学&#xff1a; 概率分布&#xff08;如伯努利分布、正态分布&#xff09;。条件概率和贝叶斯定理。期…