MVN--02

张开发
2026/4/14 20:25:45 15 分钟阅读

分享文章

MVN--02
一、Maven 坐标1. 坐标的核心作用Maven 坐标是 Maven 仓库中资源的唯一标识符作用是唯一标识当前项目本身精准引入项目所需的第三方依赖Jar 包解决依赖冲突确保项目构建的一致性2. 坐标三大核心组成表格组成部分作用命名规范示例groupId定义项目所属的组织 / 公司通常为域名反写保证全局唯一com.itheima、org.springframeworkartifactId定义项目 / 模块的名称通常为项目名、模块名小写 中划线分隔maven-demo、mysql-connector-javaversion定义项目 / 依赖的版本号遵循语义化版本规范SNAPSHOT代表快照版1.0-SNAPSHOT、5.1.463. 坐标的两种典型用法定义项目自身坐标在pom.xml的project根标签下配置用于项目打包、部署时的唯一标识xmlgroupIdcom.itheima/groupId artifactIdmaven-demo/artifactId version1.0-SNAPSHOT/version引入第三方依赖在dependencies标签下配置用于引入外部 Jar 包xmldependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version5.1.46/version /dependency二、依赖范围scope1. 核心作用通过scope标签控制依赖 Jar 包在编译、测试、运行三个阶段的可见性避免不必要的 Jar 包打入最终产物减小包体积、避免冲突。scope的默认值为compile即全阶段可见。2. 6 种依赖范围对比表表格依赖范围编译 classpath测试 classpath运行 classpath核心特点典型场景compile✅ Y✅ Y✅ Y默认值全阶段可见会被打包到最终产物业务工具包如 logback、Spring 核心包test❌ -✅ Y❌ -仅测试阶段可见不会打包单元测试框架如 JUnit、TestNGprovided✅ Y✅ Y❌ -编译 / 测试可见运行时由容器提供不打包Web 容器相关 API如 servlet-api、tomcat-catalinaruntime❌ -✅ Y✅ Y仅测试 / 运行时可见编译时不可见会打包JDBC 驱动仅运行时需要编译用接口system✅ Y✅ Y❌ -与 provided 类似需手动指定本地 Jar 包路径本地私有 Jar 包不推荐破坏 Maven 依赖管理import---仅用于dependencyManagement导入依赖管理配置统一管理多模块项目的依赖版本

更多文章