Maven pom.xml配置详解
pom.xml是什么?
pom.xml(项目对象模型-Project Object Model的缩写)是Maven项目的核心配置文件,用于管理项目的依赖、插件、构建配置等。
举例说明:以阿里巴巴的fastjson为例:
<?xml version="1.0" encoding="UTF-8"?>
<!-- xml的版本和编码-->
<!-- xml 可扩展标记语言(EXtensible Markup Language)-->
<!-- xml 被设计用来传输和存储数据 html 被设计用来显示数据--><!-- xmlns-命名空间,类似包名,因为xml的标签可以自定义,所以需要命名空间来区分-->
<!-- xmlns:xsi-xml遵循的标签规范-->
<!-- xsi:schemaLocation-用来定义xmlschema的地址,也就是xml书写时需要遵循的语法,
两部分组成,前面部分就是命名空间的名字,后面是xsd(xmlschema)的地址-->
<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">
<!-- pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。
主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,
组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。--><!-- pom模型的版本 --><modelVersion>4.0.0</modelVersion>
<!-- 父级项目,parent的引用是固定的-->
<!-- 当我们创建一个 Spring Boot 工程时,可以继承自一个 fastjson2-parent-->
<!-- 父项目中定义了依赖的版本,我们继承了它,所以依赖dependence可以不写版本号,
若不用父项目中的版本号则自己用<version>标签指定--><parent><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2-parent</artifactId><version>2.0.23</version><relativePath>../pom.xml</relativePath></parent><!-- 项目坐标,信息 --><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><name>fastjson1-compatible</name><description>Fastjson is a JSON processor (JSON parser + JSON generator) written in Java</description><packaging>jar</packaging><url>https://github.com/alibaba/fastjson2</url><inceptionYear>2022</inceptionYear><licenses> <!-- 许可证 --><license><name>Apache 2</name><url>https://www.apache.org/licenses/LICENSE-2.0.txt</url><distribution>repo</distribution><comments>A business-friendly OSS license</comments></license></licenses><scm> <!-- 源代码管理 --><url>https://github.com/alibaba/fastjson2</url><connection>scm:git:https://git@github.com/alibaba/fastjson2.git</connection></scm><organization> <!-- 组织 --><name>Alibaba Group</name><url>https://github.com/alibaba</url></organization><developers> <!-- 开发人员信息 --><developer><id>wenshao</id><name>wenshao</name><email>shaojin.wensj(at)alibaba-inc.com</email><roles><role>Developer</role><role>Tech Leader</role></roles><timezone>+8</timezone><url>https://github.com/wenshao</url></developer><developer><id>oldratlee</id><name>Jerry Lee</name><email>oldratlee(at)gmail.com</email><roles><role>Developer</role><role>CI/SCM Engineer</role></roles><timezone>+8</timezone><url>https://github.com/oldratlee</url></developer><developer><id>VictorZeng</id><name>Victor Zeng</name><email>Victor.Zxy(at)outlook.com</email><roles><role>Developer</role></roles><timezone>+8</timezone><url>https://github.com/VictorZeng</url></developer><developer><id>kraity</id><name>陆之岇</name><email>kat(at)krait.cn</email><roles><role>Developer</role></roles><timezone>+8</timezone><url>https://github.com/kraity</url></developer></developers><!-- 一些属性的设置-->
<!-- <properties> -->
<!-- JDK的版本--><!-- <java.version>1.8</java.version> --><!-- </properties> --><!-- <groupId>-主要用来唯一标识一个项目或者一组项目,通常是java包名的全称,例如上面的com.upc.pipeline-->
<!-- <artifactId>-用来标识同一groupId下不同的项目,例如spring-boot-starter-thymeleaf,都是这种格式的-->
<!-- <version>-用来标识一个artifact的版本,格式有8.0.21 0.0.1-SNAPSHOT 等-->
<!-- <scope>-用来表示当前的这个依赖(通过pom加载进来的包)所作用的场景,就是说应该把它添加到哪个环境当中,例如只在测试时此jar包生效,取值主要有compile-编译时(若未指定则为该默认值) runtime-运行时 test-测试时 等 -->
<!-- <optional>-标记依赖是否可以传递,默认值是false,可以用来减少项目之间jar包的冲突--><dependencyManagement> <!-- 申请子项目需要的依赖项 --><dependencies><!-- spring libs --><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><type>pom</type><version>${springframework5.version}</version><scope>import</scope></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-bom</artifactId><type>pom</type><version>2021.2.5</version><scope>import</scope></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-bom</artifactId><type>pom</type><version>5.7.5</version><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies> <!-- 依赖项 --><dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2-extension</artifactId><version>${project.version}</version></dependency><dependency><groupId>com.squareup.retrofit2</groupId><artifactId>retrofit</artifactId><scope>provided</scope></dependency><dependency><groupId>io.airlift</groupId><artifactId>slice</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.ws.rs</groupId><artifactId>javax.ws.rs-api</artifactId><version>2.1.1</version><scope>provided</scope><optional>true</optional></dependency><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><scope>provided</scope></dependency><dependency><groupId>org.glassfish.jersey.core</groupId><artifactId>jersey-common</artifactId><scope>provided</scope></dependency><dependency><groupId>org.javamoney.moneta</groupId><artifactId>moneta-core</artifactId><scope>provided</scope></dependency><dependency><groupId>org.json</groupId><artifactId>json</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-messaging</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-websocket</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><scope>provided</scope></dependency><dependency><groupId>cglib</groupId><artifactId>cglib-nodep</artifactId><scope>test</scope></dependency><dependency><groupId>com.aliyun.odps</groupId><artifactId>odps-sdk-udf</artifactId><scope>test</scope></dependency><dependency><groupId>com.chinamobile.cmos</groupId><artifactId>sms-core</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.jaxrs</groupId><artifactId>jackson-jaxrs-json-provider</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-afterburner</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-kotlin</artifactId><scope>test</scope></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><scope>test</scope></dependency><dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId><scope>test</scope></dependency><dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java-util</artifactId><scope>test</scope></dependency><dependency><groupId>com.googlecode.json-simple</groupId><artifactId>json-simple</artifactId><scope>test</scope></dependency><dependency><groupId>com.jayway.jsonpath</groupId><artifactId>json-path</artifactId><scope>test</scope></dependency><dependency><groupId>com.jsoniter</groupId><artifactId>jsoniter</artifactId><scope>test</scope></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><scope>test</scope></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-spring-web</artifactId><scope>test</scope></dependency><dependency><groupId>net.minidev</groupId><artifactId>json-smart</artifactId><scope>test</scope></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><classifier>jdk15</classifier><scope>test</scope></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><scope>test</scope></dependency><!-- jvm lang --><dependency><groupId>org.clojure</groupId><artifactId>clojure</artifactId><version>1.11.1</version><scope>test</scope></dependency><dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy</artifactId><version>3.0.13</version><scope>test</scope></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><scope>test</scope></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-webapp</artifactId><scope>test</scope></dependency><dependency><groupId>org.gitlab4j</groupId><artifactId>gitlab4j-api</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.containers</groupId><artifactId>jersey-container-servlet</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.core</groupId><artifactId>jersey-client</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.media</groupId><artifactId>jersey-media-json-jackson</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.test-framework.providers</groupId><artifactId>jersey-test-framework-provider-jdk-http</artifactId><scope>test</scope></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><scope>test</scope></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><scope>test</scope></dependency><!-- spring libs --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-web</artifactId><scope>test</scope></dependency></dependencies><build> <!-- 项目构建 --><plugins> <!-- 插件 --><plugin><artifactId>maven-surefire-plugin</artifactId><configuration><includes><include>com/alibaba/fastjson/**/*.java</include><include>com/alibaba/fastjson/**/*.kt</include></includes><systemPropertyVariables><user.timezone>Asia/Shanghai</user.timezone></systemPropertyVariables></configuration></plugin></plugins></build>
</project>
1.modules
modules 标签用于声明当前 Maven 项目包含的模块子项目,每个子项目都是一个独立的 Maven 项目,具有自己的 pom.xml 文件,可以进行独立构建和测试。在父项目的 pom.xml 文件中,使用 标签来列出所有子项目的名称,如下所示:
<project><groupId>com.example.parent</groupId><artifactId>parent-project</artifactId><version>1.0.0</version><packaging>pom</packaging><modules><module>child1</module><module>child2</module><module>child3</module></modules>
</project>
上述代码表示当前项目是一个 Maven 的多模块项目:它包含了三个子项目 child1、child2 和 child3,这三个子项目与 parent-project 有相同的 groupId 和 version,但是 artifactId 不同,它们的 pom.xml 都位于 parent-project 的根目录下。当使用 Maven 命令在 parent-project 下执行构建时,Maven 会对每个子模块执行构建,最终生成子项目的构件并复制到 parent-project 的 target 目录下
2.parent
parent 标签用于声明当前 Maven 项目的父项目,它可以将若干个 Maven 项目组织成一个整体,指定版本号,插件版本号等,便于管理和维护,在一个 Maven 项目中,使用标签来引用父项目,如下所示:
<project><groupId>com.example.child</groupId><artifactId>child-project</artifactId><version>1.0.0</version><packaging>jar</packaging><parent><groupId>com.example.parent</groupId><artifactId>parent-project</artifactId><version>1.0.0</version><relativePath>../parent-project/pom.xml</relativePath></parent>
</project>
上述代码表示当前项目 child-project 是 parent-project 的子项目,它的 groupId 和 version 都继承自 parent-project。元素是一个可选项,它的值是父项目 pom.xml 文件到子项目 pom.xml 文件的相对路径,如果子项目 pom.xml 和父项目 pom.xml 在同一目录下,则可以省略此元素。
3.properties
properties 严格来说,并不一定是项目本身的信息,而是人为设置的属性或者说宏,这个标签用来定义和管理项目中所需要的属性,其作用有以下几个:
统一管理项目中的常用属性,比如版本号、路径、插件版本等,方便统一修改和管理。
可以在配置过程中使用 ${…}占位符引用这些属性,使得配置更加灵活和便捷。
避免硬编码,提高代码的可维护性和可读性
<properties><project.name>demo-project</project.name><project.version>1.0.0</project.version><jdk.version>1.8</jdk.version>
</properties>
....省略其余部分
<dependency><groupId>com.example.demo</groupId><artifactId>${project.name}-api</artifactId><version>${project.version}</version>
</dependency>
四、项目的依赖列表
1.dependency
与项目的依赖列表相关的标签最外层由 <dependencies>来囊括,内部包含了各种具体的依赖<dependency>,该标签用于指定一个依赖项,它包含以下几个子标签
<groupId>:指定依赖项的groupId,项目的组名
<artifactId>:指定依赖项的artifactId,项目的唯一标识符
<version>:指定依赖项的版本号。
<scope>:指定依赖项在项目中的使用范围。
其中的 <scope>一般包含以下几种范围:常用的有compile、test、provided 和 runtime
compile:依赖库默认的 scope,表示该依赖库在编译、测试、运行时均需要使用。
provided:表示该依赖库只在编译和测试时需要使用,而在运行时已经被系统或者容器提供,所以不需要打包到最终的应用程序中。
runtime:表示该依赖库只在运行时需要使用,而在编译和测试时则不需要。
test:表示该依赖库只在测试时需要使用,而在编译和运行时则不需要。
比如说我们引入了 junit 包,但显然这个包我们不需要在打包时包含,只是用于测试,那么我们就可以将 junit 的 scope 设置为 test。
2.repository
当然,我们还能在pom文件中支持指定Maven仓库,即使用 <repositories> 和 <repository>标签,<repository>用于指定一个Maven仓库,它包含以下几个子标签:
<id>:指定Maven仓库的ID。
<name>:指定Maven仓库的名称。
<url>:指定Maven仓库的URL
有一个好的文章,供大家参考:
全面详解Maven的配置文件pom.xml(含常用plugin)_maven配置pom.xml-CSDN博客
相关文章:
Maven pom.xml配置详解
pom.xml是什么? pom.xml(项目对象模型-Project Object Model的缩写)是Maven项目的核心配置文件,用于管理项目的依赖、插件、构建配置等。 举例说明:以阿里巴巴的fastjson为例: <?xml version"1.…...

2024深圳国际电线电缆及电源产品展览会
2024深圳国际电线电缆及电源产品展览会 2024 Shenzhen International Coupling, Clutch and Brake Exhibition 时间:2024年08月28-30日 地点:深圳国际会展中心(新馆) 预订以上展会详询陆先生 I38(前三位ÿ…...

如何成功将自己开发的APP上架到应用商店
随着移动应用市场的蓬勃发展,开发一款优秀的APP已成为许多企业和个人的首要选择。然而,成功上架并有效推广APP至关重要。本文将逐步介绍完整的上架流程,包括准备所需材料、注册开发者账户、进行APP备案、提交审核以及上架成功后的推广和维护。…...

Jetson AGX ORIN 配置 FGVC-PIM 神经网络(包含 arm64 下面 torch 和 torchvision 配置内容)
Jetson AGX ORIN 配置 FGVC-PIM 神经网络 文章目录 Jetson AGX ORIN 配置 FGVC-PIM 神经网络配置 ORIN 环境创建 FGVC-PIM 虚拟环境安装 PyTorch安装 torchvision安装其他依赖包 配置 ORIN 环境 首先先配置 ORIN 的环境,可以参考这个链接: Jetson AGX …...
mybatisplus和mybatis兼容问题
Invalid bound statement (not found) 错误 原xml配置 <bean id"sqlSessionFactory" class"org.mybatis.spring.SqlSessionFactoryBean"><property name"mapperLocations" value"classpath:/META-INF/mapper/*.xml"/>&l…...

nodejs安装使用React
1、react安装 首先,确保电脑上具备nodejs环境,之后用 winr 呼出控制台,输入 cmd 命令弹出cmd控制台(小黑框)之后在默认路径输入如下代码 npm i -g create-react-app //全局安装react环境无需选择特定文件夹安装成功后…...

防御性编程,可能是导致被裁员的更大的原因,别被误导了
裁员与反裁员是当前IT界一个经典的话题,作为打工者的猿人常常讨论了N多的防御性编程,代码不可读、代码不好改、代码深度嵌套、代码留bug等等。 其实防御性编程只会让决策者加速解耦你与业务系统: 1、增加代码走查的环节(增加成本…...
Unity与鼠标相关的事件(自己记忆用)
1. OnMouseDown:当用户按下鼠标按钮时调用。 - 参数:MouseEvent,可以用来确定哪个鼠标按钮被按下。 2. OnMouseUp:当用户释放鼠标按钮时调用。 - 参数:MouseEvent,可以用来确定哪个鼠标按钮被释放。…...
模型权重下载方法
下载方法1:git lfs下载 1、在hf-mirror.com中搜索模型,如搜索text2vec-large-chinese, 点击模型进入页面:https://hf-mirror.com/GanymedeNil/text2vec-large-chinese/tree/main 2、git lfs install 3、git clone https://hf-mir…...
JS基础之 数据浅拷贝与深拷贝
一、拷贝背景 JS引用数据类型有两类:基本数据类型和引用数据类型; 基本类型:String,Number,Boolean,Null,Undefined,symbol这6种基本数据类型它们是直接按值存放的,所以…...
FFmpeg开发笔记(十四)音频重采样的缓存
FFmpeg在很多地方都运用了缓存机制,比如《FFmpeg开发实战:从零基础到短视频上线》一书的“3.3.2 对视频流重新编码”介绍了编解码的数据缓存,不单是视频编码过程和视频解码过程有缓存,甚至连音频重采样都用到了缓存。 也就是说&a…...

详解Python面向对象编程(一)
类和对象 面向过程——怎么做? (1)把完成某一需求的所有步骤、从头到尾,逐步实现 (2)根据开发需求,将某些功能独立的代码块封装成一个又一个的函数 (3)最后完成的代码&a…...

一文带你完整了解Go语言IO基础库
作者 | 百度小程序团队 导读 introduction 对于刚接触Golang学习的同学,估计比较难掌握的知识点之一就是文件IO处理,光在基础库里会发现 golang除了io包提供文件处理外,os包,http包,embed包都有提供类似的处理…...

Java基于微信小程序的校园请假系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#…...

Expert Prompting-引导LLM成为杰出专家
ExpertPrompting: Instructing Large Language Models to be Distinguished Experts 如果适当设计提示,对齐的大型语言模型(LLM)的回答质量可以显著提高。在本文中,我们提出了ExpertPrompting,以激发LLM作为杰出专家回…...

Element-Plus下拉菜单边框去除教程
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...

免费redis可视化工具windows/mac都可以使用,开源免费
官方地址:RedisInsight | The Best Redis GUI github开源地址:GitHub - RedisInsight/RedisDesktopManager Redis Desktop Manager – Redis可视化管理工具、redis图形化管理工具、redis可视化客户端、redis集群管理工具。 官方下载方式 滚动到页面底…...

PHPCMS v9城市分站插件
PHPCMS自带的有多站点功能,但是用过的朋友都知道,自带的多站点功能有很多的不方便之处,例如站点栏目没法公用,每个站点都需要创建模型、每个站点都需要单独添加内容,还有站点必须静态化。如果你内容很多这些功能当然无…...

学习几个地图组件(基于react)
去年开发时用的公司封装的地图组件,挺方便的,但是拓展性不强,所以看看有哪些优秀的开源地图组件吧 1、React Leaflet 介绍:开源的JavaScript库,用于在web上制作交互式地图,允许你使用React组件的方式在应…...

【测试开发学习历程】计算机编程语言
前言: 学习完数据库,我们便要进入到编程语言的内容当中了。 这里先对编程语言写出大致的分类, 在这之后,我们会以Python为重点, 开始测试开发为重点的编程语言学习。 目录 1 计算机编程语言的发展 2 语言的分类…...

动态内存管理-传值调用错题解析
首先我们来看这个错误代码 首先我们看代码逻辑,首先main函数调用test,test接收的是void类型,设置一个指针变量,指向null,传递给get函数,也就是传递一个空指针给getmemory函数,这个函数接收了&a…...

Java特性之设计模式【装饰器模式】
一、装饰器模式 概述 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装 装饰器模式通过将对象包装在装饰器类中,以…...

Leetcode算法题笔记(2)
目录 图论51. 岛屿数量解法一 52. 腐烂的橘子解法一 53. 课程表解法一 54. 实现 Trie (前缀树)解法一 回溯55. 全排列解法一 56. 子集解法一解法二 57. 电话号码的字母组合解法一 58. 组合总和解法一解法二 59. 括号生成解法一解法二 60. 单词搜索解法一 61. 分割回文串解法一 …...

二手车交易网站|基于JSP技术+ Mysql+Java+ B/S结构的二手车交易网站设计与实现(可运行源码+数据库+设计文档)
推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,ssm,springboot的平台设计与实现项目系统开发资源(可…...

lora-scripts 训练IP形象
CodeWithGPU | 能复现才是好算法CodeWithGPU | GitHub AI算法复现社区,能复现才是好算法https://www.codewithgpu.com/i/Akegarasu/lora-scripts/lora-trainstable-diffusion打造自己的lora模型(使用lora-scripts)-CSDN博客文章浏览阅读1.1k次…...
Acwing 503. 借教室
Problem: 503. 借教室 文章目录 思路解题方法复杂度Code 思路 这是一个二分查找问题。我们需要找到最大的借教室数量,使得每个教室的借用时间不超过其可用时间。我们可以通过二分查找来找到这个最大的借教室数量。 解题方法 我们首先对所有的借教室请求按照结束时间…...

吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5
目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第三周:浅层神经网络(Shallow neural networks)3.1 神经网络概述(Neural Network Overview)3.2 神经网络的表示(Neural Network Representation…...

Linux设备驱动开发 - 三色LED呼吸灯分析
By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 展锐UIS7885呼吸灯介绍呼吸灯调试方法亮蓝灯亮红灯亮绿灯展锐UIS7885呼吸灯DTS配置ump9620 PMIC驱动ump9620中的LED呼吸灯驱动LED的tr…...

开发者的瑞士军刀:DevToys
DevToys: 一站式开发者工具箱,打造高效创意编程体验,让代码生活更加得心应手!—— 精选真开源,释放新价值。 概览 不知道大家是否在windows系统中使用过PowerToys?这是微软研发的一项免费实用的系统工具套…...

【vue3.0】实现导出的PDF文件内容是红头文件格式
效果图: 编写文件里面的主要内容 <main><div id"report-box"><p>线索描述</p><p class"label"><span>线索发现时间:</span> <span>{{ detailInfoVal?.problem.createdDate }}</span></p><…...