11 Maven

发布时间:2026/7/15 3:08:30

11 Maven
Maven 项目构建与依赖管理第一章.Maven 基础1.1 Maven 的介绍1.Maven: 一款 Java 项目构建和依赖管理工具。 2.核心能力: a.依赖管理 b.项目构建 3.核心配置文件: pom.xml开发者编写 pom.xml ↓ Maven 读取配置 ↓ 下载依赖、编译代码、运行测试、打包项目1.2 Maven 解决的问题问题没有 Maven使用 Mavenjar 包管理手动下载、复制、容易缺依赖在pom.xml写坐标自动下载依赖传递需要人工找依赖的依赖自动处理传递依赖项目结构每个人目录习惯不同统一标准目录构建过程IDE 点按钮或手动操作使用统一命令团队协作jar 包和版本不一致统一依赖版本1.3 Maven 工作原理pom.xml ↓ Maven 根据坐标查找依赖 ↓ 先查本地仓库 ↓ 本地没有再查远程仓库或中央仓库 ↓ 下载依赖到本地仓库 ↓ 执行生命周期中的编译、测试、打包等任务1.pom.xml: 描述项目、依赖、插件和构建规则。 2.本地仓库: 保存下载过的依赖。 3.远程仓库: 团队或公司维护的依赖仓库。 4.中央仓库: Maven 官方默认公共仓库。第二章.Maven 坐标和项目结构2.1 GAVP 坐标1.GAV: Maven 项目的唯一身份标识。 2.GAVP: GroupId ArtifactId Version Packaging 3.GroupId、ArtifactId、Version 必填。 4.Packaging 可选,默认 jar。属性作用是否必填示例groupId组织、公司、业务线是com.exampleartifactId项目名或模块名是student-serviceversion项目版本是1.0.0packaging打包方式否jar、war、pom2.2 坐标命名建议1.groupId: 通常使用公司域名反写 业务线。 例如: com.alibaba.sourcing 2.artifactId: 通常使用产品线名-模块名。 例如: bookstore-api 3.version: 通常使用 主版本.次版本.修订号。 例如: 1.0.0版本变化含义示例主版本号不兼容的大改动1.0.0-2.0.0次版本号兼容的新功能1.0.0-1.1.0修订号Bug 修复或小优化1.0.0-1.0.12.3 Packaging 打包方式类型说明常见场景jar默认值打包成.jar普通 Java 工程、工具模块war打包成.warJava Web 工程pom不生成业务包父工程、聚合工程2.4 Maven 标准项目结构student-score-project ├── pom.xml └── src ├── main │ ├── java │ │ └── com/example │ │ ├── controller │ │ ├── service │ │ ├── dao │ │ └── model │ └── resources │ ├── jdbc.properties │ └── log4j.properties └── test ├── java │ └── com/example └── resources目录作用pom.xmlMaven 项目配置文件src/main/java正式 Java 源代码src/main/resources正式资源文件src/test/java测试 Java 源代码src/test/resources测试资源文件targetMaven 构建输出目录第三章.POM 文件3.1 最小 pom.xml?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion groupIdcom.example/groupId artifactIdstudent-score-project/artifactId version1.0.0/version packagingjar/packaging /project3.2 常用 POM 标签标签作用modelVersionPOM 模型版本通常固定为4.0.0groupId项目组标识artifactId项目名或模块名version项目版本packaging打包方式properties统一配置变量dependencies声明项目依赖build配置构建行为3.3 properties 统一配置properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding project.reporting.outputEncodingUTF-8/project.reporting.outputEncoding maven.compiler.source17/maven.compiler.source maven.compiler.target17/maven.compiler.target junit.version5.10.2/junit.version mysql.version8.0.33/mysql.version /properties1.统一管理 JDK 版本。 2.统一管理编码。 3.统一管理第三方依赖版本。 4.后续修改版本时,只改一处。第四章.依赖管理4.1 依赖的介绍1.依赖: 当前项目需要使用的第三方 jar 包或其他 Maven 模块。 2.Maven 依赖管理: 在 pom.xml 中声明依赖坐标, Maven 自动下载并加入项目。 3.依赖声明位置: dependencies dependency.../dependency /dependencies4.2 添加依赖dependencies dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId version${mysql.version}/version /dependency dependency groupIdorg.junit.jupiter/groupId artifactIdjunit-jupiter/artifactId version${junit.version}/version scopetest/scope /dependency /dependencies4.3 依赖查询方式1.Maven 仓库网站: https://mvnrepository.com/ 2.IDEA Maven 搜索功能。 3.官方文档提供的依赖坐标。依赖版本要确认存在如果groupId、artifactId或version写错Maven 会提示找不到对应依赖。第五章.依赖范围 scope5.1 scope 的作用1.scope: 控制依赖在哪些阶段生效。 2.常见阶段: 编译 main 编译 test 测试运行 项目运行 打包5.2 常见 scopescopemain 编译test 编译测试运行运行打包常见依赖compile是是是是是普通工具包provided是是是否否Servlet APIruntime否是是是是JDBC 驱动test否是是否否JUnitdependency groupIdjakarta.servlet/groupId artifactIdjakarta.servlet-api/artifactId version6.0.0/version scopeprovided/scope /dependency dependency groupIdorg.junit.jupiter/groupId artifactIdjunit-jupiter/artifactId version5.10.2/version scopetest/scope /dependency1.compile: 默认范围,不写 scope 就是 compile。 2.provided: 编译需要,运行由服务器提供。 3.runtime: 编译时不直接用,运行时需要。 4.test: 只在测试代码中使用。第六章.依赖传递和依赖冲突6.1 依赖传递1.依赖传递: A 依赖 B,B 依赖 C, 那么 A 可能也会间接依赖 C。 2.例子: 项目依赖 jackson-databind。 jackson-databind 会传递引入 jackson-core 和 jackson-annotations。dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId version2.15.0/version /dependency当前项目 ↓ jackson-databind ├── jackson-core └── jackson-annotations6.2 依赖传递范围1.compile 范围通常可以传递。 2.test 范围通常不传递到主项目。 3.provided 范围通常不参与最终运行打包传递。6.3 依赖冲突1.依赖冲突: 项目中直接或间接出现同一个 jar 的不同版本。 2.Maven 会按规则自动选择一个版本。 3.冲突可能导致: a.编译报错 b.运行时找不到方法 c.版本行为不一致6.4 冲突解决规则规则说明最短路径优先谁离当前项目更近使用谁先声明优先路径一样长时谁先声明使用谁A - B - C - X:1.0 A - F - X:2.0 最终使用 X:2.0,因为路径更短。A - B - X:1.0 A - F - X:2.0 路径一样长时,谁先声明谁优先。6.5 手动排除依赖dependency groupIdcom.example/groupId artifactIddemo-service/artifactId version1.0.0/version exclusions exclusion groupIdcommons-logging/groupId artifactIdcommons-logging/artifactId /exclusion /exclusions /dependency排除依赖要谨慎排除传递依赖前要确认当前项目确实不需要它否则可能导致运行时缺类。第七章.Maven 生命周期和常用命令7.1 构建的介绍1.项目构建: 把源代码、配置文件、资源文件和依赖转换成可运行或可部署结果。 2.常见构建过程: 清理 编译 测试 打包 安装到本地仓库 部署到远程仓库7.2 常用命令命令作用mvn clean删除target目录mvn compile编译src/main/javamvn test编译并运行测试mvn package打包项目生成 jar 或 warmvn install打包并安装到本地仓库mvn deploy发布到远程仓库或私服mvn site生成项目站点报告mvn clean package执行 mvn clean package 时: 1.先删除 target。 2.编译正式代码。 3.编译测试代码。 4.运行测试。 5.生成 jar 或 war。命令执行位置Maven 命令通常要在pom.xml所在目录执行。7.3 生命周期的顺序性1.Maven 生命周期有顺序。 2.执行后面的阶段,会自动执行前面的阶段。 3.例如执行 package,会先执行 compile 和 test。validate - compile - test - package - verify - install - deploy7.4 跳过测试mvn package -DskipTests1.-DskipTests: 跳过测试执行,但仍可能编译测试代码。 2.-Dmaven.test.skiptrue: 跳过测试编译和测试执行。 3.一般优先使用 -DskipTests。第八章.build 和插件配置8.1 build 的作用1.build: 配置 Maven 构建行为。 2.常见用途: a.指定最终打包名称 b.配置资源文件打包规则 c.配置插件 d.配置 JDK 编译版本8.2 自定义打包名称build finalNamestudent-score/finalName /build默认打包名称: artifactId-version.打包方式 自定义后: finalName.打包方式8.3 resources 资源打包1.src/main/resources: 默认会打包到 classes 目录。 2.src/main/java: 默认只编译 .java 文件。 3.如果把 XML 放在 src/main/java 下: 默认可能不会被打包。build resources resource directorysrc/main/resources/directory includes include**/*.xml/include include**/*.properties/include /includes /resource /resources /build8.4 插件和依赖的区别类型配置位置作用依赖 dependencydependencies项目代码编译或运行需要的 jar插件 pluginbuildpluginsMaven 构建过程需要的工具8.5 配置编译插件build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-compiler-plugin/artifactId version3.11.0/version configuration source17/source target17/target encodingUTF-8/encoding /configuration /plugin /plugins /build8.6 配置 war 插件build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-war-plugin/artifactId version3.3.2/version /plugin /plugins /build常见场景: JDK 版本较高时,低版本 war 插件可能不兼容。 此时可以显式升级 maven-war-plugin 版本。第九章.Maven 仓库9.1 仓库类型仓库说明常见位置本地仓库本机缓存依赖和插件~/.m2/repository中央仓库Maven 官方公共仓库https://repo.maven.apache.org/maven2远程仓库公司私服或第三方仓库Nexus、阿里云镜像等9.2 查找依赖顺序本地仓库 ↓ 没有 远程仓库或镜像仓库 ↓ 没有 中央仓库只要本地仓库已经有依赖, Maven 通常会直接使用本地依赖, 不会每次都重新下载。9.3 settings.xml 常见配置settings.xml 通常用于配置: 1.本地仓库位置。 2.镜像仓库。 3.私服账号。 4.代理。本地仓库位置localRepositoryD:/maven/repository/localRepository镜像仓库mirrors mirror idaliyunmaven/id mirrorOfcentral/mirrorOf name阿里云公共仓库/name urlhttps://maven.aliyun.com/repository/public/url /mirror /mirrors9.4 依赖下载失败处理常见原因: 1.网络异常。 2.远程仓库不可用。 3.依赖坐标或版本写错。 4.本地仓库存在下载失败缓存。常见报错: Could not find artifact ... failed to transfer ... Remote host terminated the handshake处理顺序: 1.确认网络正常。 2.确认依赖坐标和版本存在。 3.刷新 Maven。 4.删除对应依赖目录中的 .lastUpdated 文件。 5.重新执行 Maven 命令。不要随意清空整个本地仓库优先按依赖的groupId/artifactId/version定位目录只删除出问题依赖的缓存文件避免大量依赖重新下载。第十章.Maven 继承10.1 继承的介绍1.Maven 继承: 子工程继承父工程的配置。 2.作用: a.统一依赖版本 b.统一插件版本 c.统一编码和 JDK 版本 d.减少重复配置 3.父工程 packaging: 必须是 pom。10.2 父工程配置groupIdcom.example/groupId artifactIdshop-parent/artifactId version1.0.0/version packagingpom/packaging properties spring.version6.0.6/spring.version jackson.version2.15.0/jackson.version maven.compiler.source17/maven.compiler.source maven.compiler.target17/maven.compiler.target project.build.sourceEncodingUTF-8/project.build.sourceEncoding /properties10.3 子工程继承父工程parent groupIdcom.example/groupId artifactIdshop-parent/artifactId version1.0.0/version /parent artifactIduser-service/artifactId packagingjar/packaging如果子工程的 groupId 和 version 与父工程一致, 子工程可以省略自己的 groupId 和 version。10.4 dependencyManagement1.dependencyManagement: 只管理依赖版本,不会真正引入依赖。 2.子工程需要使用依赖时: 仍然要在 dependencies 中声明依赖。 3.好处: 子工程不用写 version,版本由父工程统一决定。父工程统一管理版本dependencyManagement dependencies dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId version${spring.version}/version /dependency dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId version${jackson.version}/version /dependency /dependencies /dependencyManagement子工程引用依赖dependencies dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId /dependency dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId /dependency /dependencies10.5 父工程 dependencies 的影响1.父工程 dependencies: 会让子工程直接继承依赖。 2.父工程 dependencyManagement: 只统一版本,子工程按需引入。 3.推荐: 父工程优先使用 dependencyManagement 管理版本。第十一章.Maven 聚合11.1 聚合的介绍1.Maven 聚合: 用一个父项目统一管理多个子模块的构建。 2.作用: a.一个命令构建多个模块 b.自动计算模块构建顺序 c.统一管理相关工程 3.父工程 packaging: 通常是 pom。11.2 modules 配置project groupIdcom.example/groupId artifactIdshop-parent/artifactId version1.0.0/version packagingpom/packaging modules modulecommon-service/module moduleuser-service/module moduleorder-service/module /modules /project11.3 继承和聚合的区别概念解决问题关键标签继承子工程复用父工程配置子工程parent聚合父工程统一构建多个子模块父工程modules1.继承强调配置复用。 2.聚合强调统一构建。 3.实际多模块项目中,父工程通常同时承担继承和聚合两个角色。第十二章.多模块项目案例案例目标搭建一个micro-shop父工程下面包含common-service、user-service、order-service三个子模块。12.1 项目结构micro-shop ├── pom.xml ├── common-service │ └── pom.xml ├── user-service │ └── pom.xml └── order-service └── pom.xml12.2 父工程 micro-shop?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion groupIdcom.example/groupId artifactIdmicro-shop/artifactId version1.0.0/version packagingpom/packaging modules modulecommon-service/module moduleuser-service/module moduleorder-service/module /modules properties spring.version6.0.6/spring.version jackson.version2.15.0/jackson.version commons-io.version2.11.0/commons-io.version maven.compiler.source17/maven.compiler.source maven.compiler.target17/maven.compiler.target project.build.sourceEncodingUTF-8/project.build.sourceEncoding /properties dependencyManagement dependencies dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId version${spring.version}/version /dependency dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId version${jackson.version}/version /dependency dependency groupIdcommons-io/groupId artifactIdcommons-io/artifactId version${commons-io.version}/version /dependency /dependencies /dependencyManagement /project12.3 common-service 模块?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion parent groupIdcom.example/groupId artifactIdmicro-shop/artifactId version1.0.0/version /parent artifactIdcommon-service/artifactId packagingjar/packaging dependencies dependency groupIdcommons-io/groupId artifactIdcommons-io/artifactId /dependency /dependencies /project12.4 user-service 模块?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion parent groupIdcom.example/groupId artifactIdmicro-shop/artifactId version1.0.0/version /parent artifactIduser-service/artifactId packagingwar/packaging dependencies dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId /dependency dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId /dependency /dependencies /project12.5 order-service 模块?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion parent groupIdcom.example/groupId artifactIdmicro-shop/artifactId version1.0.0/version /parent artifactIdorder-service/artifactId packagingwar/packaging dependencies dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId /dependency dependency groupIdcom.example/groupId artifactIdcommon-service/artifactId version1.0.0/version /dependency /dependencies /project12.6 构建多模块项目mvn clean install在父工程 micro-shop 目录执行命令: 1.Maven 会读取 modules。 2.自动分析模块依赖关系。 3.按正确顺序构建 common-service、user-service、order-service。 4.构建结果安装到本地仓库。

相关新闻

STM32CubeMX实战:基于FatFS与FreeRTOS的U盘数据采集与存储系统

STM32CubeMX实战:基于FatFS与FreeRTOS的U盘数据采集与存储系统

2026/7/15 3:08:30

1. 系统架构设计 这个基于STM32的数据采集系统核心在于 多任务协同 和 稳定存储 。我通常会把它拆解成三个关键部分:传感器数据采集层、实时操作系统调度层、以及文件系统存储层。用个生活化的比喻——就像一家餐厅的后厨运作:传感器是负责备菜的厨师…

2 模拟通信之AM调制解调——实战篇(1)

2 模拟通信之AM调制解调——实战篇(1)

2026/7/15 3:08:30

1. AM调制器的硬件实现AM调制器的硬件实现其实比你想象的要简单得多。我当年第一次做AM调制电路时,用的就是最基础的元器件:一个信号发生器、一个乘法器芯片(比如AD633),再加上几个电阻电容。关键是要理解每个元器件的…

嵌入式系统启动全解析:从Bootloader源码到固件升级实战

嵌入式系统启动全解析:从Bootloader源码到固件升级实战

2026/7/15 3:08:30

1. 项目概述:从“上电”到“应用”的幕后英雄每次按下嵌入式设备的电源键,屏幕亮起,系统启动,这个过程看似理所当然,背后却是一场精密、有序的接力赛。这场接力赛的第一棒和第二棒,就是我们今天要深入探讨的…

Selenium实战:动态网页爬虫开发指南与东方财富股吧数据抓取

Selenium实战:动态网页爬虫开发指南与东方财富股吧数据抓取

2026/7/15 4:28:34

1. 项目概述:为什么用Selenium爬股吧?如果你尝试过用传统的requestsBeautifulSoup去爬取像东方财富股吧这样的论坛,大概率会碰一鼻子灰。你会发现,翻页按钮点了没反应,帖子列表刷不出来,或者登录状态死活保…

CesiumWidget初始化失败:从WebGL兼容性到CESIUM_BASE_URL配置的深度排错指南

CesiumWidget初始化失败:从WebGL兼容性到CESIUM_BASE_URL配置的深度排错指南

2026/7/15 4:28:34

1. 当CesiumWidget初始化失败时,先检查WebGL兼容性遇到"CesiumWidget初始化失败"的错误提示时,第一步要确认的是浏览器是否支持WebGL。这个错误经常会让开发者一头雾水,但实际上它可能只是浏览器环境的问题。我遇到过不少案例&…

从NIST到AMDIS:如何构建高效的GC-MS化合物鉴定工作流?

从NIST到AMDIS:如何构建高效的GC-MS化合物鉴定工作流?

2026/7/15 4:28:34

1. GC-MS化合物鉴定的核心挑战做GC-MS分析的朋友们应该都深有体会,最头疼的就是遇到复杂样品中的共流出峰。我去年分析一个环境污染物样品时,色谱图上两个峰完全重叠,用常规的NIST谱库检索根本分不清到底是哪种化合物。这种时候就需要一套系统…

协议分析:WebSocket数据抓取——从握手到帧解析的完整实战指南

协议分析:WebSocket数据抓取——从握手到帧解析的完整实战指南

2026/7/15 4:28:34

文章目录 每日一句正能量 一、引言:为什么需要抓取WebSocket数据? 二、WebSocket握手:从HTTP到全双工的协议升级 2.1 握手流程解析 2.2 Python实现握手验证 三、WebSocket帧结构:二进制层面的数据解析 3.1 帧头字段详解 3.2 掩码机制与解码 3.3 Python帧解析器实现 四、心跳…

骁龙移动平台双卡双待DSDS的技术内幕(6): DSDS模式下的IMS/VoLTE注册与通话管理

骁龙移动平台双卡双待DSDS的技术内幕(6): DSDS模式下的IMS/VoLTE注册与通话管理

2026/7/15 4:28:33

系列文章目录:本文是“骁龙移动平台双卡双待DSDS的技术内幕”系列的第六篇,聚焦双卡场景下IMS服务注册和VoLTE/VoNR通话管理的技术细节。1. IMS在DSDS中的特殊性 1.1 为什么IMS在双卡中复杂? IMS 在 DSDS 中的挑战:每张卡需要独立…

【计算机网络之TCP/UDP篇】TCP三次握手与四次挥手:从原理到实战调优

【计算机网络之TCP/UDP篇】TCP三次握手与四次挥手:从原理到实战调优

2026/7/15 4:18:33

1. TCP三次握手的底层原理TCP三次握手是建立可靠网络连接的基石。想象一下你打电话给朋友的过程:首先你拨号(SYN),朋友听到铃声接起电话说"喂"(SYN-ACK),你回一句"是我"&am…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/14 10:03:09

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/13 20:43:19

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/15 0:26:43

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

【LINUX】驱动

【LINUX】驱动

2026/7/15 0:08:14

【LINUX驱动】【字符设备】【中断】【Platform】【网课 设备树】【GPIO】【PINCTRL】【INPUT】【IIC】【SPI】【网络驱动】【屏幕驱动】【一 设备树】【二 内核模块编译】【三 基本驱动框架】【四 Platform总线设备驱动框架】【五 驱动子系统】【六 综合】

【1982-2026】全国高精度建筑轮廓|村级精度|SHP矢量

【1982-2026】全国高精度建筑轮廓|村级精度|SHP矢量

2026/7/15 0:08:14

🔍 数据简介 本次分享1982-2026年全国村级精度建筑轮廓矢量数据,覆盖全国各省市区县,到村级别精细,为2026年最新实时采集成果,非网传仅60/77个城市的老旧数据。 数据含带高度/不带高度双版本,单体建筑边界精…

【1975-2026】全国水系水路数据|河流/水库/运河|SHP矢量

【1975-2026】全国水系水路数据|河流/水库/运河|SHP矢量

2026/7/15 0:08:14

🔍 数据简介 本次分享1975-2026年全国高精度水系水路矢量数据,覆盖全国全域,包含河流、水系、水库、运河、湿地、冰川、沟渠等全类别水文要素。 数据集包含双层矢量图层,字段分类清晰、要素齐全,支持2013-2026逐年完整…