三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

建设网站5要素浙江城乡住房建设厅网站首页

建设网站5要素浙江城乡住房建设厅网站首页 建设网站5要素,浙江城乡住房建设厅网站首页,楼盘网站开发,wordpress 博客 视频Maven 核心知识点全总结(生命周期 / Phase / Goal / 依赖 / 命令) 一、Maven 三层核心结构(从大到小)生命周期(Lifecycle):最大流程容器,共 3 套 阶段(Phase):生命周期内的有序执行节点 插件目标(Goal):… Maven 核心知识点全总结(生命周期 / Phase / Goal / 依赖 / 命令) 一、Maven 三层核心结构(从大到小)生命周期(Lifecycle):最大流程容器,共 3 套 阶段(Phase):生命周期内的有序执行节点 插件目标(Goal):真正执行具体任务,Maven 最小执行单位执行一个 Phase → 自动按顺序执行前面所有 Phase → 依次执行每个 Phase 绑定的所有 Goal二、三大生命周期clean 生命周期 作用:清理项目构建产物(target 目录) 关键 Phase:cleandefault 生命周期(核心构建流程)执行顺序(精简): validate → initialize → generate-sources → process-resources → compile → process-classes → test-compile → test → package → install → deploysite 生命周期作用:生成项目站点文档,日常极少使用三、阶段 Phase 与 插件目标 Goal核心关系Phase 只是执行节点 / 入口,本身不干活 Goal 是最小执行单元,真正完成编译、打包、清理等操作 一个 Phase 可以绑定 0/1/N 个 Goal 可直接执行 Goal,绕开生命周期:mvn compiler:compile常用默认绑定表格 Phase 对应插件 Goal 功能 clean maven-clean-plugin:clean 清理 target compile maven-compiler-plugin:compile 编译主代码 test-compile maven-compiler-plugin:testCompile 编译测试代码 test maven-surefire-plugin:test 执行单元测试 package maven-jar-plugin:jar 打成 Jar 包flatten-maven-plugin 目标与绑定表格 Goal 绑定 Phase 功能 flatten process-resources 生成扁平化 pom clean clean 清理 flatten 产物 help 无绑定 查看插件帮助四、Maven 常用命令执行逻辑mvn compile执行 default 生命周期直到 compile,自动执行前面所有 Phase包含:validate → … → compile 不含 clean 不含 test、packagemvn package执行直到 package自动执行:compile → test → package 不会自动 clean 跳过测试:-Dmaven.test.skip=truemvn install执行:package → install 把 Jar 安装到 本地 Maven 仓库,供其他模块依赖mvn clean package / clean install先执行 clean 清理旧文件 再执行完整构建流程 企业最标准、最安全用法五、依赖作用域 控制依赖在编译、测试、运行、打包、传递中的行为 表格 scope 编译 测试 运行 打包 可传递 典型使用场景 compile ✅ ✅ ✅ ✅ ✅ 业务核心依赖(默认) provided ✅ ✅ ❌ ❌ ❌ Servlet API、容器提供 runtime ❌ ✅ ✅ ✅ ✅ JDBC 驱动 test ❌ ✅ ❌ ❌ ❌ JUnit 测试 provided /test 不传递 compile /runtime 可传递六、可选依赖 true只控制依赖传递性,与 scope 无关 当前项目可正常使用 下游项目依赖你时,不会传递该依赖 用途:避免依赖爆炸、减少版本冲突七、常用多模块构建命令 bash 运行 mvn clean package -am -pl yudao-server -Dmaven.test.skip=trueclean:清理旧构建 package:打包 -pl yudao-server:只构建指定模块 -am:同时构建该模块依赖的其他模块 -Dmaven.test.skip=true:跳过测试编译与执行八、一句话终极总结生命周期定流程,Phase 定顺序,Goal 是最小执行单位 package 自带 compile,install 自带 package,都不带 clean scope 控制依赖可见范围与打包行为 optional 控制依赖是否传递 企业标准构建:clean package /clean install
← 返回列表