当前位置: 首页 > article >正文

Maven的安装配置-项目管理工具

各位看官,大家早安午安晚安呀~~~

如果您觉得这篇文章对您有帮助的话

欢迎您一键三连,小编尽全力做到更好
欢迎您分享给更多人哦

今天我们来学习:Maven的安装配置-项目管理工具

目录

1.什么是Maven?Maven用来干什么的?

2.我们如何创建一个Maven项目呢?

3.Maven有两个大功能:

3.1.项目构建

3.2.管理依赖

3.2.1原来如何引入依赖

3.2.2现在如何引入依赖

3.2.3.但是我们发现我们明明只引入了一个mysql的依赖却出现了两个

3.3.4.也可以:安装Maven Helper插件

4.Maven仓库:

4.1.如何查找Jar的坐标

4.2配置国内源

大家也可以直接复制我的XML文件

4.3.刚才阿里云提到的私有服务器(私服)


1.什么是Maven?Maven用来干什么的?

Maven是一个项目管理工具, 通过配置pom.xml文件,然后自动从“仓库”中获取jar包。
官方对于Maven的描述:
Welcome to Apache Maven – Maven
Apache Maven is a software project management and comprehension tool. Based on the
concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
Maven是⼀个项项目理工具。基于POM(Project Object Model,项⽬对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建、报告和文档。

我们不需要单独下载Maven了,IDEA里面已经集成了Maven

2.我们如何创建一个Maven项目呢?

我以2023.2的IDEA专业版为例子

点击create就创建好了,创建好的项目大概长这个样子(我们点击pom.xml)会出现一些标签

我解释一些其他标签的含义:(这里不过多的解释,后面我们遇到了再进行解释)

  • <packaging>

    • 指定项目的打包方式,如 jarwarpom 等。

    • 示例:<packaging>jar</packaging>

  • <dependencies>

    • 定义项目所依赖的外部库。

  • <properties>:定义一些属性值,可以在 POM 中重复使用。

  • <build>:配置项目的构建过程,包括插件和资源文件。

3.Maven有两个大功能:

3.1.项目构建

Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的自动化项目构建方式。
当我们开发了⼀个项目之后,代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改,都需要经过这些流程, 如果代码反复调试修改,这个流程就需要反复进行, 就显得特别麻烦,而Maven 给我们提供了⼀套简单的命令来完成项目的构建
  • clean:删除 target 目录(清理旧构建文件(.class文件))。
  • validate:检查项目配置是否正确(如 pom.xml 是否有效)。
  • compile:编译源代码(.java → .class)。
  • test:运行单元测试(检查代码逻辑)。
  • package:打包代码(生成 JAR/WAR 文件)。
  • verify:验证测试和代码质量(如集成测试)。
  • install:将包安装到本地仓库(供其他项目使用)。
  • deploy:发布到远程仓库(团队共享依赖)。
  • site:生成项目文档网站(如报告、API 文档)。

3.2.管理依赖

Maven是一个项目管理工具, 通过配置pom.xml文件,然后自动从“仓库”中获取jar包

这个jar包就是依赖

Maven 的“依赖管理”可以通俗地理解为:我们的项目需要用到别人的“工具包”(譬如库),而 Maven 就像是一个“自动管家”,帮我们一键下载、整理这些工具包,并确保它们之间不会“打架”。


举个生活化的例子 🌰

假设你想做一道菜(开发项目),需要用到:

  1. 刀(库A)

  2. 砧板(库B)

  3. 酱油(库C)

但问题来了:

  • 刀(库A)本身需要搭配一个磨刀石(库D)才能用。

  • 酱油(库C)必须用某个特定品牌(版本1.2),否则会太咸。

没有 Maven 时

  • 你得自己跑超市买齐所有东西,还得记住每个工具的版本和兼容性。

  • 一旦买错版本(比如酱油版本1.3),整道菜可能就毁了。

有了 Maven 时

  • Maven 会:

    1. 自动下载:刀、砧板、酱油,甚至磨刀石(传递性依赖)。

    2. 检查版本:确保酱油是1.2,避免冲突。

    3. 整理工具包:所有工具按分类放好(本地仓库),随用随取。

3.2.1原来如何引入依赖

3.2.2现在如何引入依赖

 我们只需要在pom.xml中引⼊mysql-connector-java的依赖就可以了

我们的需要的依赖一般都在中央仓库中

中央仓库

然后在这个网站中去找https://mvnrepository.com/

然后在pom.xml中引入依赖

3.2.3.但是我们发现我们明明只引入了一个mysql的依赖却出现了两个

多的这个就是依赖的依赖,如果我们不需要怎么排除这些依赖呢?

通过标签<exclusions></exlusions>排除也可以安装Maven Helper插件

3.3.4.也可以:安装Maven Helper插件

Installa安装就好了

4.Maven仓库:

中央仓库: maven 软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联网. 由 Maven 团队维护,全球唯⼀.

仓库地址: https://repo1.maven.org/maven2/
可以通过 https://mvnrepository.com 这个网站来查询并下载
我们也可以把自己写好的Jar包上传到中央仓库(具备⼀定的要求), 也可以从中央仓库下载Jar包

4.1.如何查找Jar的坐标

1.访问 https://mvnrepository.com/
2.查找 比如mysql

4.2配置国内源

由于中央仓库是在国外维护的,所以我们第一次导入jar包从中央仓库中是很慢的
国内有没有呢?
有的我们可以更换阿里云的仓库(也可以称之为私服)
首先:打开settings.xml(Maven的配置文件), 在 mirrors 节点上,添加内容如下:
 <mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>阿⾥云公共仓库</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url></mirror>

这个配置文件的地址是

如果我们修改可settings的地址,需要在这里也进行修改,还有防止以后新建项目也要修改。

我们这个时候还要对这个地方进行修改(还是和刚才一样的操作)

大家也可以直接复制我的XML文件

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<!-- 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.-->
<!-- | This is the configuration file for Maven. It can be specified at two levels:||  1. User Level. This settings.xml file provides configuration for a single user,|                 and is normally provided in ${user.home}/.m2/settings.xml.||                 NOTE: This location can be overridden with the CLI option:||                 -s /path/to/user/settings.xml||  2. Global Level. This settings.xml file provides configuration for all Maven|                 users on a machine (assuming they're all using the same Maven|                 installation). It's normally provided in|                 ${maven.conf}/settings.xml.||                 NOTE: This location can be overridden with the CLI option:||                 -gs /path/to/global/settings.xml|| The sections in this sample file are intended to give you a running start at| getting the most out of your Maven installation. Where appropriate, the default| values (values used when the setting is not specified) are provided.|| -->
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<!--  localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>-->
<!--  interactiveMode| This will determine whether maven prompts you when it needs input. If set to false,| maven will use a sensible default value, perhaps based on some other setting, for| the parameter in question.|| Default: true<interactiveMode>true</interactiveMode>-->
<!--  offline| Determines whether maven should attempt to connect to the network when executing a build.| This will have an effect on artifact downloads, artifact deployment, and others.|| Default: false<offline>false</offline>-->
<!--  pluginGroups| This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.| when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers| "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.| -->
<pluginGroups>
<!--  pluginGroup| Specifies a further group identifier to use for plugin lookup.<pluginGroup>com.your.plugins</pluginGroup>-->
</pluginGroups>
<!--  proxies| This is a list of proxies which can be used on this machine to connect to the network.| Unless otherwise specified (by system property or command-line switch), the first proxy| specification in this list marked as active will be used.| -->
<proxies>
<!--  proxy| Specification for one proxy, to be used in connecting to the network.|<proxy><id>optional</id><active>true</active><protocol>http</protocol><username>proxyuser</username><password>proxypass</password><host>proxy.host.net</host><port>80</port><nonProxyHosts>local.net|some.host.com</nonProxyHosts></proxy>-->
</proxies>
<!--  servers| This is a list of authentication profiles, keyed by the server-id used within the system.| Authentication profiles can be used whenever maven must make a connection to a remote server.| -->
<servers>
<!--  server| Specifies the authentication information to use when connecting to a particular server, identified by| a unique name within the system (referred to by the 'id' attribute below).|| NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are|       used together.|<server><id>deploymentRepo</id><username>repouser</username><password>repopwd</password></server>-->
<!--  Another sample, using keys to authenticate.<server><id>siteServer</id><privateKey>/path/to/private/key</privateKey><passphrase>optional; leave empty if not used.</passphrase></server>-->
</servers>
<!--  mirrors| This is a list of mirrors to be used in downloading artifacts from remote repositories.|| It works like this: a POM may declare a repository to use in resolving certain artifacts.| However, this repository may have problems with heavy traffic at times, so people have mirrored| it to several places.|| That repository definition will have a unique id, so we can create a mirror reference for that| repository, to be used as an alternate download site. The mirror site will be the preferred| server for that repository.| -->
<mirrors>
<!--  mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror><id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror>-->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<!--  profiles| This is a list of profiles which can be activated in a variety of ways, and which can modify| the build process. Profiles provided in the settings.xml are intended to provide local machine-| specific paths and repository locations which allow the build to work in the local environment.|| For example, if you have an integration testing plugin - like cactus - that needs to know where| your Tomcat instance is installed, you can provide a variable here such that the variable is| dereferenced during the build process to configure the cactus plugin.|| As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles| section of this document (settings.xml) - will be discussed later. Another way essentially| relies on the detection of a system property, either matching a particular value for the property,| or merely testing its existence. Profiles can also be activated by JDK version prefix, where a| value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.| Finally, the list of active profiles can be specified directly from the command line.|| NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact|       repositories, plugin repositories, and free-form properties to be used as configuration|       variables for plugins in the POM.|| -->
<profiles>
<!--  profile| Specifies a set of introductions to the build process, to be activated using one or more of the| mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>| or the command line, profiles have to have an ID that is unique.|| An encouraged best practice for profile identification is to use a consistent naming convention| for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.| This will make it more intuitive to understand what the set of introduced profiles is attempting| to accomplish, particularly when you only have a list of profile id's for debug.|| This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.<profile><id>jdk-1.4</id><activation><jdk>1.4</jdk></activation><repositories><repository><id>jdk14</id><name>Repository for JDK 1.4 builds</name><url>http://www.myhost.com/maven/jdk14</url><layout>default</layout><snapshotPolicy>always</snapshotPolicy></repository></repositories></profile>-->
<!-- | Here is another profile, activated by the system property 'target-env' with a value of 'dev',| which provides a specific path to the Tomcat instance. To use this, your plugin configuration| might hypothetically look like:|| ...| <plugin>|   <groupId>org.myco.myplugins</groupId>|   <artifactId>myplugin</artifactId>||   <configuration>|     <tomcatLocation>${tomcatPath}</tomcatLocation>|   </configuration>| </plugin>| ...|| NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to|       anything, you could just leave off the <value/> inside the activation-property.|<profile><id>env-dev</id><activation><property><name>target-env</name><value>dev</value></property></activation><properties><tomcatPath>/path/to/tomcat/instance</tomcatPath></properties></profile>-->
</profiles>
<!--  activeProfiles| List of profiles that are active for all builds.|<activeProfiles><activeProfile>alwaysActiveProfile</activeProfile><activeProfile>anotherAlwaysActiveProfile</activeProfile></activeProfiles>-->
</settings>

4.3.刚才阿里云提到的私有服务器(私服)

私服: 一般由公司团队搭建的私有仓库.
私服属于某个公司,或者某个部门, 往往需要⼀定权限.
有了私服之后, Maven依赖下载的顺序又发生了变化
当Maven需要下载资源的时候
1. 先从本地仓库获取, 本地仓库存在, 则直接返回
2. 如果本地仓库没有, 就从私服请求, 私服存在该资源, 就直接返回
3. 如果私服上不存在该资源,则从中央仓库下载, 中央仓库不存在, 就报错了...
4. 如果中央仓库中存在, 就先缓存在私服上之后,再缓存到本地仓库里, 再为Maven的下载请求提供服务

上述就是Maven的安装配置-项目管理工具的全部内容啦

能看到这里相信您一定对小编的文章有了一定的认可。

有什么问题欢迎各位大佬指出
欢迎各位大佬评论区留言修正~~

您的支持就是我最大的动力​​​!!!

相关文章:

Maven的安装配置-项目管理工具

各位看官&#xff0c;大家早安午安晚安呀~~~ 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 今天我们来学习&#xff1a;Maven的安装配置-项目管理工具 目录 1.什么是Maven&#xff1f;Maven用来干什么的&#xff1f…...

智能 SQL 优化工具 PawSQL 月度更新 | 2025年3月

&#x1f4cc; 更新速览 本月更新包含 21项功能增强 和 9项问题修复&#xff0c;重点提升SQL解析精度与优化建议覆盖率。 一、SQL解析能力扩展 ✨ 新增SQL语法解析支持 SELECT...INTO TABLE 语法解析&#xff08;3/26&#xff09; ALTER INDEX RENAME/VISIBLE 语句解析&#…...

Ubuntu虚拟机编译安装部分OpenCV模块方法实现——保姆级教程

Ubuntu虚拟机的安装过程可以查看另一篇文章&#xff1a;VMware安装Ubuntu虚拟机实现COpenCV代码在虚拟机下运行教程-CSDN博客 目前我们已经下载好了OpenCV&#xff0c;这里以OpenCV4.5.2为例。 在内存要求尽可能小的情况下&#xff0c;可以尝试只编译安装代码中使用到的OpenC…...

find指令中使用正则表达式

linux查找命令能结合正则表达式吗 find命令要使用正则表达式需要结合-regex参数 另&#xff0c;-type参数可以指定查找类型(f为文件&#xff0c;d为文件夹) rootlocalhost:~/regular_expression# ls -alh 总计 8.0K drwxr-xr-x. 5 root root 66 4月 8日 16:26 . dr-xr-…...

Java Web从入门到精通:全面探索与实战(二)

Java Web从入门到精通&#xff1a;全面探索与实战&#xff08;一&#xff09;-CSDN博客 目录 四、Java Web 开发中的数据库操作&#xff1a;以 MySQL 为例 4.1 MySQL 数据库基础操作 4.2 JDBC 技术深度解析 4.3 数据库连接池的应用​ 五、Java Web 中的会话技术&#xff…...

基于大模型的阵发性室上性心动过速风险预测与治疗方案研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与目标 1.3 研究方法与数据来源 二、阵发性室上性心动过速概述 2.1 定义与分类 2.2 发病机制与流行病学 2.3 临床表现与诊断方法 三、大模型在阵发性室上性心动过速预测中的应用 3.1 大模型技术原理与特点 3.2 模型构…...

秒杀业务的实现过程

一.后台创建秒杀的活动场次信息&#xff0c;并关联到要秒杀的商品或服务&#xff1b; 二.通过定时任务&#xff0c;将秒杀的活动信息和商品服务信息存储到redis; 三.在商品展示页的显眼位置加载秒杀活动信息&#xff1b; 四.用户参与秒杀&#xff0c;创建订单&#xff0c;将…...

spring mvc @ResponseBody 注解转换为 JSON 的原理与实现详解

ResponseBody 注解转换为 JSON 的原理与实现详解 1. 核心作用 ResponseBody 是 Spring MVC 的一个注解&#xff0c;用于将方法返回的对象直接序列化为 HTTP 响应体&#xff08;如 JSON 或 XML&#xff09;&#xff0c;而不是通过视图解析器渲染为视图&#xff08;如 HTML&…...

TDengine.C/C++ 连接器

简介 C/C 开发人员可以使用 TDengine 的客户端驱动&#xff0c;即 C/C 连接器&#xff08;以下都用 TDengine 客户端驱动表示&#xff09;&#xff0c;开发自己的应用来连接 TDengine 集群完成数据存储、查询以及其他功能。TDengine 客户端驱动的 API 类似于 MySQL 的 C API。…...

[docker] 简单操作场景

Docker的简单操作场景 1 安装 暂时没空写&#xff5e; 2 登陆 一共4步&#xff1a; ~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d765d4c1eb5f ubuntu:24.04 "/bin/bash" …...

skynet.rawcall使用详解及应用场景

目录 核心特性函数原型使用场景场景 1&#xff1a;高性能二进制传输&#xff08;如文件转发&#xff09;场景 2&#xff1a;自定义序列化协议&#xff08;如 Protocol Buffers&#xff09;场景 3&#xff1a;跨服务共享内存&#xff08;避免拷贝&#xff09; 配套接收方实现与 …...

使用SpringSecurity下,发生重定向异常

使用SpringSecurity下&#xff0c;发生空转异常 环境信息&#xff1a; Spring Boot 3.4.4 &#xff0c; jdk 17 &#xff0c; springSecurity 6.4.4 问题背景&#xff1a; 没有自定义controller &#xff0c;改写了login 页面&#xff0c;并且进行了成功后的跳转处理&#xf…...

gbase8s之逻辑导出导入脚本(完美版本)

该脚本dbexport.sh用于快速导出库和导入库&#xff08;使用多并发unload&#xff0c;和多并发dbload的方式&#xff09; #!/bin/sh #脚本功能&#xff1a;将数据导出成文本&#xff0c;迁移至其他实例 #最后更新时间&#xff1a;2023-12-19 #使用方法&#xff1a; #1.执行该脚…...

Elasticsearch | ES索引模板、索引和索引别名的创建与管理

关注&#xff1a;CodingTechWork 引言 在使用 Elasticsearch (ES) 和 Kibana 构建数据存储和分析系统时&#xff0c;索引模板、索引和索引别名的管理是关键步骤。本文将详细介绍如何通过 RESTful API 和 Kibana Dev Tools 创建索引模板、索引以及索引别名&#xff0c;并提供具…...

【Easylive】视频删除方法详解:重点分析异步线程池使用

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 方法整体功能 这个deleteVideo方法是一个综合性的视频删除操作&#xff0c;主要完成以下功能&#xff1a; 权限验证&#xff1a;检查视频是否存在及用户是否有权限删除核心数据删除&…...

力扣hot100_回溯(2)_python版本

一、39. 组合总和&#xff08;中等&#xff09; 代码&#xff1a; class Solution:def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:ans []path []def dfs(i: int, left: int) -> None:if left 0:# 找到一个合法组合ans.append(pa…...

SGLang实战:从KV缓存复用到底层优化,解锁大模型高效推理的全栈方案

在当今快速发展的人工智能领域&#xff0c;大型语言模型(LLM)的应用已从简单对话扩展到需要复杂逻辑控制、多轮交互和结构化输出的高级任务。面对这一趋势&#xff0c;如何高效地微调并部署这些大模型成为开发者面临的核心挑战。本文将深入探讨SGLang——这一专为大模型设计的高…...

LPDDR4内存颗粒命名规则全解析:三星、镁光、海力士、南亚、长鑫等厂商型号解码与选型指南

由于之前DDR的系列选型文章有很好的反馈&#xff0c;所以补充LPDDR4低功耗内存的选型和命名规则&#xff0c;总结了目前市面上常用的内存&#xff0c;供硬件工程师及数码爱好者参考。 在智能手机、平板电脑和低功耗设备中&#xff0c;LPDDR4 SDRAM凭借其高带宽、低功耗特性成为…...

特权FPGA之Johnson移位

完整代码&#xff1a; module johnson(clk,rst_n,led,sw1_n,sw2_n,sw3_n);input clk; //时钟信号&#xff0c;50MHz input rst_n; //复位信号&#xff0c;低电平有效 output[3:0] led; //LED控制&#xff0c;1--灭&#xf…...

网络安全小知识课堂(最终完结版)

网络安全入门 &#xff1a;从 “小白” 到 “守护者” 的蜕变之旅 写在完结之际 历经 13 篇的深度探索&#xff0c;我们从 DDoS 攻击的 “流量洪水” 一路闯关到 HTTPS 的 “加密堡垒”&#xff0c;揭开了网络安全世界的层层面纱。感谢每一位读者的陪伴与互动&#xff0c;你们…...

2025年AI生成引擎搜索发展现状与趋势总结​​

2025年AI生成引擎搜索发展现状与趋势总结 ​​一、国内外AI生成引擎搜索发展现状​​ ​​1. 国内动态​​ ​​社交搜索崛起​​&#xff1a;小红书2024年Q4日均搜索量达6亿次&#xff0c;用户更依赖社交平台UGC内容进行决策&#xff08;如购物、旅游场景&#xff09;&#…...

【杂谈】Godot4.4导出到Android平台(正式导出)

学博而后可约&#xff0c;事历而后知要。 目录 一、准备二、Gradle构建三、配置Java SDK四、配置Android SDK五、配置密钥 一、准备 本文在前文【杂谈】Godot4.4导出到安卓平台&#xff08;调试导出&#xff09;的基础上&#xff0c;进行正式导出。调试导出并不是真正的编译导…...

VBA将Word文档内容逐行写入Excel

如果你需要将Word文档的内容导入Excel工作表来进行数据加工&#xff0c;使用下面的代码可以实现&#xff1a; Sub ImportWordToExcel()Dim wordApp As Word.ApplicationDim wordDoc As Word.DocumentDim excelSheet As WorksheetDim filePath As VariantDim i As LongDim para…...

基于AI设计开发出来的业务系统是什么样的?没有菜单?没有表格?

基于AI设计开发出的业务系统仍然会包含菜单、表格等传统UI元素&#xff0c;但AI技术会显著改变它们的实现方式和交互逻辑。以下是具体分析&#xff1a; 一、传统元素的持续存在 功能刚需性 • 菜单承担着系统导航的核心功能&#xff0c;表格则是结构化数据展示的基础载体。根…...

C++ -异常之除以 0 问题(整数除以 0 编译时检测、整数除以 0 运行时检测、浮点数除以 0 编译时检测、浮点数除以 0 运行时检测)

一、整数除以 0&#xff08;编译时检测&#xff09; 1、演示 #include <iostream>using namespace std;int main() {int result 10 / 0;cout << result << endl;return 0; }程序无法运行&#xff0c;输出结果 error C2124: 被零除或对零求模2、演示解读 …...

数字足迹管理(DFM):你的网络隐身指南

数字足迹管理&#xff08;DFM&#xff09;&#xff1a;你的网络隐身指南 ‌你可能不知道&#xff0c;你的姓名、电话、住址正在网上被“明码标价”‌ ——而这一切&#xff0c;可能只是因为你点过外卖、寄过快递&#xff0c;甚至注册过一个网站。 一、什么是数字足迹管理&#…...

如何避免“过度承诺”导致的验收失败

如何避免“过度承诺”导致的验收失败&#xff1f;关键在于&#xff1a; 评估可行性、设置合理目标、高频沟通反馈、阶段性验收、做好风险管理。其中设置合理目标至关重要&#xff0c;很多团队往往在项目初期为迎合客户或领导而报出“最理想方案”&#xff0c;忽略了资源、技术及…...

MySQL学习笔记集--游标

游标 在MySQL中&#xff0c;游标&#xff08;Cursor&#xff09;是一种数据库对象&#xff0c;它允许您逐行处理查询结果集。游标通常与存储过程一起使用&#xff0c;因为它们需要在存储过程或函数中声明和操作。游标的使用涉及几个步骤&#xff1a;声明游标、打开游标、从游标…...

紧跟数字人热潮:123 数字人分身克隆系统源码部署与风口洞察

在当今数字化浪潮中&#xff0c;数字人技术无疑已成为最具活力与潜力的领域之一&#xff0c;正以迅猛之势席卷多个行业&#xff0c;重塑着人们的交互方式与商业运作模式。C 站作为技术交流的前沿阵地&#xff0c;汇聚了众多关注前沿科技的开发者与技术爱好者&#xff0c;今天来…...

QT控件 修改QtTreePropertyBrowser自定义属性编辑器源码,添加第一列标题勾选,按钮,右键菜单事件等功能

头阵子遇到一个需要修改QtTreePropertyBrowser控件的需求&#xff0c;QT开发做这么久了&#xff0c;这个控件倒是第一次用&#xff0c;费了点时间研究&#xff0c;在这里做个简单的总结。 QtTreePropertyBrowser控件 是 Qt 解决方案 (Qt Solutions) 中的一个组件&#xff0c;用…...