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

昆明网站设计价格常德网站建设要点

昆明网站设计价格,常德网站建设要点,网站新闻前置备案,wordpress中文章标题【Maven】多module项目优雅的实现pom依赖管理 【一】方案设计原则【二】项目结构示例【三】实现思路【1】可能的问题点#xff1a;【2】解决方案的思路#xff1a;【3】需要注意的地方#xff1a;【4】可能的错误#xff1a; 【四】实现案例【1】父POM设计#xff08;pare… 【Maven】多module项目优雅的实现pom依赖管理 【一】方案设计原则【二】项目结构示例【三】实现思路【1】可能的问题点【2】解决方案的思路【3】需要注意的地方【4】可能的错误 【四】实现案例【1】父POM设计parent-project/pom.xml【2】子模块示例common-core/pom.xml【3】模块间依赖service-module/pom.xml 【五】总结 【一】方案设计原则 1统一依赖版本管理 所有依赖版本在父POM中集中定义子模块无需指定版本号。 2模块职责分离 按功能划分模块如核心工具、数据访问、API接口等减少耦合。 3依赖继承与复用 公共依赖由父模块管理模块间通过引入所需依赖。 4BOM集成 使用Spring Boot和第三方库的BOMBill of Materials统一管理版本。 5插件集中配置 在父POM中统一配置编译、打包等插件确保构建一致性。 【二】项目结构示例 parent-project根项目 ├── pom.xml # 父POM ├── common-core # 通用工具模块 │ └── pom.xml ├── common-dao # 数据访问模块 │ └── pom.xml ├── api-module # API接口模块 │ └── pom.xml └── service-module # 业务逻辑模块 └── pom.xml 【三】实现思路 通常一个多模块项目有一个父pom然后各个子模块继承这个父pom。父pom负责管理公共的依赖版本、插件配置等。子模块可以声明自己的依赖而版本号由父pom统一管理。这样可以避免版本冲突也方便统一升级。 优雅管理可能包括依赖版本统一管理、依赖分类比如核心依赖、工具类依赖、避免重复声明、处理模块之间的依赖关系等。 【1】可能的问题点 1父pom如何管理所有依赖的版本 2如何将依赖按功能分组比如分成dependencies和dependencyManagement 3如何处理不同模块间的依赖共享 4如何避免子模块中重复声明版本号 5如何管理插件的版本和配置 【2】解决方案的思路 1使用父pom的dependencyManagement来统一管理所有依赖的版本子模块引入依赖时不需要指定版本。 2将常用依赖组合成bomBill of Materials或者使用Spring Boot已有的BOM比如spring-boot-dependencies。 3将项目分为多个模块比如核心模块、通用工具模块、API模块、服务模块等每个模块负责特定的功能减少重复依赖。 4在父pom中定义公共的插件管理确保所有子模块使用相同的插件版本和配置。 5使用模块化的依赖管理比如将数据库相关依赖、Web相关依赖分别管理方便按需引入。 【3】需要注意的地方 1父pom中的依赖管理部分应该清晰按功能或类别分组方便查找和维护。 2子模块只声明需要的依赖不重复版本。 3避免循环依赖尤其是在模块之间的依赖关系上。 4使用import来引入其他BOM特别是当项目需要整合多个BOM时比如同时使用Spring Boot和Spring Cloud的BOM。 【4】可能的错误 1在子模块中错误地指定了版本号导致父pom的版本管理失效。 2模块之间的依赖关系没有正确声明导致编译或运行时缺少必要的依赖。 3没有正确管理插件的版本导致构建不一致。 4父pom中漏掉了某些公共依赖的管理导致子模块需要自行管理版本引发冲突。 【四】实现案例 【1】父POM设计parent-project/pom.xml ?xml version1.0 encodingUTF-8? projectmodelVersion4.0.0/modelVersiongroupIdcom.example/groupIdartifactIdparent-project/artifactIdversion1.0.0-SNAPSHOT/versionpackagingpom/packaging!-- 模块声明 --modulesmodulecommon-core/modulemodulecommon-dao/modulemoduleapi-module/modulemoduleservice-module/module/modules!-- 继承Spring Boot父POM --parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.1.5/versionrelativePath/ !-- 从仓库查找 --/parent!-- 依赖管理统一版本 --dependencyManagementdependencies!-- 集成Spring Cloud BOM可选 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion2022.0.4/versiontypepom/typescopeimport/scope/dependency!-- 自定义依赖版本 --dependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion32.1.2-jre/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.28/versionscopeprovided/scope/dependency/dependencies/dependencyManagement!-- 公共依赖所有子模块继承 --dependencies!-- Spring Boot Starter --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependency!-- Lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeprovided/scope/dependency/dependencies!-- 插件管理 --buildpluginManagementpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationsource17/sourcetarget17/target/configuration/plugin/plugins/pluginManagement/build /project【2】子模块示例common-core/pom.xml ?xml version1.0 encodingUTF-8? projectmodelVersion4.0.0/modelVersionparentgroupIdcom.example/groupIdartifactIdparent-project/artifactIdversion1.0.0-SNAPSHOT/version/parentartifactIdcommon-core/artifactId!-- 声明模块特有依赖 --dependenciesdependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactId !-- 版本由父POM管理 --/dependency/dependencies /project【3】模块间依赖service-module/pom.xml ?xml version1.0 encodingUTF-8? projectmodelVersion4.0.0/modelVersionparentgroupIdcom.example/groupIdartifactIdparent-project/artifactIdversion1.0.0-SNAPSHOT/version/parentartifactIdservice-module/artifactIddependencies!-- 依赖其他模块 --dependencygroupIdcom.example/groupIdartifactIdcommon-core/artifactIdversion${project.version}/version/dependencydependencygroupIdcom.example/groupIdartifactIdcommon-dao/artifactIdversion${project.version}/version/dependency!-- Spring Boot Web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies /project【五】总结 1分层管理依赖 父POM管理全局依赖版本、插件和公共配置。 子模块仅声明自身需要的依赖不重复定义版本。 2活用BOM 通过导入Spring Boot、Spring Cloud或其他第三方BOM简化版本协调。 3模块化设计 每个模块职责单一通过依赖传递共享通用组件。 4版本变量提取 对频繁变更的版本号可在父POM中定义集中管理。 5持续梳理依赖 定期使用mvn dependency:tree分析依赖树避免冗余和冲突。
http://www.w-s-a.com/news/412441/

相关文章:

  • ps做图下载网站网站子目录设计
  • 厦门网站制作策划高中生做网站网页
  • 高端品牌网站建设在哪济南兴田德润优惠吗专业定制网站开发公司
  • 怎么做网站卖东西汽车网站排行榜前十名
  • 网站关键字没有排名只有单页面的网站怎么做seo
  • 网站流量盈利模式宝塔没有域名直接做网站怎么弄
  • 淡蓝色网站qq推广中心
  • 设计网站价格餐饮吸引客流的活动方案
  • 手机网站建设电话百度搜索量
  • 条件查询 php网站源码中国白云手机网站建设
  • 网上注册公司流程及材料班级优化大师免费下载电脑版
  • 应用网站如何做营销型网站的重要特点
  • 怎么样百度搜到自己的网站加强社区网站建设
  • 建设网站所需技术wordpress延时加载js
  • 网站建设沈阳搜云seo
  • 怎么申请免费的网站空间微信公众平台注册收费吗
  • 东营网站搭建最基本的网站设计
  • 网站建设技术的发展最近的国际新闻大事
  • 德州有名的网站建设公司网站如何做引流
  • 建设一个收入支出持平的网站网络推广计划书格式
  • 什么是网站黑链全球新冠疫苗接种率
  • 网站开发 chrome gimp网站不备案做seo没用
  • 织梦校园招生网站源码沪佳哪个好
  • 建设企业网站可信度软件产品如何做网站推广
  • 网站建设企业号助手贵阳景观设计公司
  • 网站开发第三方建设银行个人网站显示不了
  • 无锡兼职做网站郑州网站建设搜索优化
  • iis禁止通过ip访问网站品牌策划案例ppt
  • 电子商务网站建设实习seo黑帽优化
  • 如何做好网站建设销售闸北集团网站建设