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

网站建设教程pdf下载广东营销型网站建设

网站建设教程pdf下载,广东营销型网站建设,wordpress中文插件,热点军事新闻文章目录 **1. 父 POM 的核心职责****1.1 依赖管理 (dependencyManagement)****1.2 插件管理 (pluginManagement)****1.3 其他公共配置** **2. 子模块 POM 的核心职责****2.1 依赖声明 (dependencies)****2.2 插件启用与覆盖 (plugins)** **3. 核心对比表****4. 使用场景示例**…

文章目录

  • **1. 父 POM 的核心职责**
    • **1.1 依赖管理 (`dependencyManagement`)**
    • **1.2 插件管理 (`pluginManagement`)**
    • **1.3 其他公共配置**
  • **2. 子模块 POM 的核心职责**
    • **2.1 依赖声明 (`dependencies`)**
    • **2.2 插件启用与覆盖 (`plugins`)**
  • **3. 核心对比表**
  • **4. 使用场景示例**
    • **场景 1:统一管理 Spring Boot 依赖**
    • **场景 2:覆盖插件配置**
  • **5. 最佳实践**
  • **6:总结**
  • 7:完整父子pom实例
    • 1、父pom
    • 2、子pom

1. 父 POM 的核心职责

父 POM 是项目的 全局配置中心,负责统一管理依赖版本、插件版本和公共配置,确保所有子模块的一致性。

1.1 依赖管理 (dependencyManagement)

  • 作用:集中定义依赖的版本和范围,子模块引用时无需重复指定版本。

  • 示例

    <!-- 父 POM -->
    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.1.5</version></dependency></dependencies>
    </dependencyManagement>
    

1.2 插件管理 (pluginManagement)

  • 作用:统一插件版本和默认配置,子模块按需启用。

  • 示例

    <!-- 父 POM -->
    <build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><configuration><source>17</source><target>17</target></configuration></plugin></plugins></pluginManagement>
    </build>
    

1.3 其他公共配置

  • 定义全局属性(如 <properties> 中的 Java 版本)。
  • 声明模块聚合(<modules>)。
     <modules><module>auth</module><module>gateway</module><module>modules</module><module>api</module><module>common</module>
    </modules>
    

2. 子模块 POM 的核心职责

子模块 POM 负责 具体模块的实现配置,继承父 POM 的依赖和插件模板,并按需覆盖或扩展。

2.1 依赖声明 (dependencies)

  • 规则

    • 如果依赖在父 POM 的 dependencyManagement 中定义,子模块只需声明 groupIdartifactId
    • 如果依赖未在父 POM 中定义,需在子模块中完整声明(含版本)。
  • 示例

    <!-- 子模块 POM -->
    <dependencies><!-- 继承父 POM 的版本 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 独立声明新依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.33</version></dependency>
    </dependencies>
    

2.2 插件启用与覆盖 (plugins)

  • 规则

    • 如果插件在父 POM 的 pluginManagement 中定义,子模块只需声明插件坐标即可继承配置。
    • 子模块可覆盖父 POM 的插件配置(如修改参数、绑定生命周期)。
  • 示例

    <!-- 子模块 POM -->
    <build><plugins><!-- 继承父 POM 的编译插件配置 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId></plugin><!-- 覆盖父 POM 的配置 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests> <!-- 禁用测试 --></configuration></plugin></plugins>
    </build>
    

3. 核心对比表

配置项父 POM子模块 POM
依赖管理<dependencyManagement> 定义版本<dependencies> 声明具体依赖
插件管理<pluginManagement> 定义版本和配置<plugins> 启用插件或覆盖配置
版本控制集中管理,避免冲突继承父版本或独立声明
配置覆盖不可覆盖可覆盖父 POM 的配置(如插件参数)
强制性可选(但推荐)必须显式声明需要的依赖或插件

4. 使用场景示例

场景 1:统一管理 Spring Boot 依赖

  • 父 POM

    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>3.1.5</version><type>pom</type><scope>import</scope></dependency></dependencies>
    </dependencyManagement>
    
  • 子模块

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
    </dependencies>
    

场景 2:覆盖插件配置

  • 父 POM

    <pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>3.2.1</version><configuration><skipTests>false</skipTests></configuration></plugin></plugins>
    </pluginManagement>
    
  • 子模块

    <plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests> <!-- 覆盖父 POM 配置 --></configuration></plugin>
    </plugins>
    

5. 最佳实践

  1. 父 POM 原则
    • 仅在 dependencyManagementpluginManagement 中定义版本,不直接使用 <dependencies><plugins>
    • 通过 <properties> 统一管理版本号,避免硬编码。
  2. 子模块原则
    • 仅声明需要的依赖和插件,避免冗余配置。
    • 覆盖父 POM 配置时需明确标注(如注释说明)。
  3. 版本一致性
    • 公共依赖(如 Spring Boot、Lombok)应在父 POM 中统一管理。
    • 业务特定依赖(如某个工具类库)可在子模块中独立声明。

6:总结

  • 父 POM模板,负责定义“用什么版本”。
  • 子模块 POM实例,负责声明“具体用哪些”。
  • 通过合理分工,既能保证一致性,又能满足模块个性化需求。

7:完整父子pom实例

1、父pom

<?xml version="1.0" encoding="UTF-8"?>
<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"><modelVersion>4.0.0</modelVersion><groupId>com.wkl</groupId><artifactId></artifactId><version>3.6.5</version><name></name><url>http://www..vip</url><description>开发系统</description><properties><version>3.6.5</version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-boot.version>2.7.18</spring-boot.version><spring-cloud.version>2021.0.9</spring-cloud.version><spring-cloud-alibaba.version>2021.0.6.1</spring-cloud-alibaba.version><spring-boot-admin.version>2.7.16</spring-boot-admin.version><tobato.version>1.27.2</tobato.version><kaptcha.version>2.3.3</kaptcha.version><pagehelper.boot.version>2.0.0</pagehelper.boot.version><druid.version>1.2.23</druid.version><namic-ds.version>4.3.1</namic-ds.version><commons.io.version>2.13.0</commons.io.version><velocity.version>2.3</velocity.version><fastjson.version>2.0.53</fastjson.version><jjwt.version>0.9.1</jjwt.version><minio.version>8.2.2</minio.version><poi.version>4.1.2</poi.version><springdoc.version>1.6.9</springdoc.version><transmittable-thread-local.version>2.14.4</transmittable-thread-local.version><org.mapstruct.version>1.6.3</org.mapstruct.version><hutool.version>5.8.25</hutool.version><lombok.version>1.18.30</lombok.version><!-- override dependency version --><tomcat.version>9.0.98</tomcat.version><logback.version>1.2.13</logback.version><spring-framework.version>5.3.39</spring-framework.version></properties><!-- 依赖声明 --><dependencyManagement><dependencies><!-- 覆盖SpringFramework的依赖配置--><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><version>${spring-framework.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud 微服务 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud Alibaba 微服务 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringBoot 依赖配置 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!-- 覆盖logback的依赖配置--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><!-- 覆盖tomcat的依赖配置--><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId><version>${tomcat.version}</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-el</artifactId><version>${tomcat.version}</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-websocket</artifactId><version>${tomcat.version}</version></dependency><!-- FastDFS 分布式文件系统 --><dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>${tobato.version}</version></dependency><!-- Springdoc webmvc 依赖配置 --><dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-ui</artifactId><version>${springdoc.version}</version></dependency><!-- 验证码 --><dependency><groupId>pro.fessional</groupId><artifactId>kaptcha</artifactId><version>${kaptcha.version}</version></dependency><!-- pagehelper 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>${pagehelper.boot.version}</version></dependency><!-- io常用工具类 --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${commons.io.version}</version></dependency><!-- excel工具 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>${poi.version}</version></dependency><!-- 代码生成使用模板 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>${velocity.version}</version></dependency><!-- JSON 解析器和生成器 --><dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>${fastjson.version}</version></dependency><!-- JWT --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>${jjwt.version}</version></dependency><!-- 线程传递值 --><dependency><groupId>com.alibaba</groupId><artifactId>transmittable-thread-local</artifactId><version>${transmittable-thread-local.version}</version></dependency><!-- 核心模块 --><dependency><groupId>com.wkl</groupId><artifactId>-common-core</artifactId><version>${.version}</version></dependency><!-- 接口模块 --><dependency><groupId>com.wkl</groupId><artifactId>-common-swagger</artifactId><version>${.version}</version></dependency><!-- 安全模块 --><dependency><groupId>com.wkl</groupId><artifactId>-common-security</artifactId><version>${.version}</version></dependency><!-- 权限范围 --><dependency><groupId>com.wkl</groupId><artifactId>-common-datascope</artifactId><version>${.version}</version></dependency><!-- 多数据源 --><dependency><groupId>com.wkl</groupId><artifactId>-common-datasource</artifactId><version>${.version}</version></dependency><!-- 分布式事务 --><dependency><groupId>com.wkl</groupId><artifactId>-common-seata</artifactId><version>${.version}</version></dependency><!-- 日志记录 --><dependency><groupId>com.wkl</groupId><artifactId>-common-log</artifactId><version>${.version}</version></dependency><!-- 缓存服务 --><dependency><groupId>com.wkl</groupId><artifactId>-common-redis</artifactId><version>${.version}</version></dependency><!-- 系统接口 --><dependency><groupId>com.wkl</groupId><artifactId>-api-system</artifactId><version>${.version}</version></dependency><!-- map转换 --><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${org.mapstruct.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version><scope>provided</scope></dependency><!--            <dependency>-->
<!--                <groupId>cn.hutool</groupId>-->
<!--                <artifactId>hutool-all</artifactId>-->
<!--                <version>${hutool.version}</version>-->
<!--            </dependency>--></dependencies></dependencyManagement><modules><module>auth</module><module>gateway</module><module>modules</module><module>api</module><module>common</module></modules><packaging>pom</packaging><dependencies><!-- bootstrap 启动器 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${java.version}</source><target>${java.version}</target><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin></plugins><pluginManagement><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><configuration><annotationProcessorPaths><!-- Lombok 处理器 --><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></path><!-- MapStruct 处理器 --><path><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>1.5.5.Final</version></path></annotationProcessorPaths></configuration></plugin></plugins></pluginManagement></build><repositories><repository><id>public</id><name>aliyun nexus</name><url>https://maven.aliyun.com/repository/public</url><releases><enabled>true</enabled></releases></repository></repositories><pluginRepositories><pluginRepository><id>public</id><name>aliyun nexus</name><url>https://maven.aliyun.com/repository/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories></project>

2、子pom

<?xml version="1.0" encoding="UTF-8"?>
<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"><parent><artifactId>-modules</artifactId><groupId>com.wkl</groupId><version>3.6.5</version></parent><modelVersion>4.0.0</modelVersion><artifactId>business</artifactId><description>modules-bus业务模块</description><dependencies><!-- SpringCloud Alibaba Nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- SpringCloud Alibaba Nacos Config --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!-- SpringCloud Alibaba Sentinel --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><!-- SpringBoot Actuator --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- Mysql Connector --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId></dependency><!-- RuoYi Common DataSource --><dependency><groupId>com.wkl</groupId><artifactId>-common-datasource</artifactId></dependency><!-- RuoYi Common DataScope --><dependency><groupId>com.wkl</groupId><artifactId>-common-datascope</artifactId></dependency><!-- RuoYi Common Log --><dependency><groupId>com.wkl</groupId><artifactId>-common-log</artifactId></dependency><!-- RuoYi Common Swagger --><dependency><groupId>com.wkl</groupId><artifactId>-common-swagger</artifactId></dependency><dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.15.5</version><exclusions><exclusion><artifactId>elasticsearch-rest-client</artifactId><groupId>org.elasticsearch.client</groupId></exclusion></exclusions></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>8.15.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.17.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.17.0</version></dependency><dependency><groupId>jakarta.json</groupId><artifactId>jakarta.json-api</artifactId><version>2.1.1</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!-- starter-test:junit + spring-test + mockito --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId></dependency></dependencies><build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

文章转载自:

http://eD8Duxuo.qrwdg.cn
http://ZDh7qASI.qrwdg.cn
http://Mw0n01Vy.qrwdg.cn
http://kFxbtqLD.qrwdg.cn
http://j1xAc76u.qrwdg.cn
http://sueFxbPd.qrwdg.cn
http://1ZhwKLM9.qrwdg.cn
http://MWUBZ1Or.qrwdg.cn
http://iHznvtd4.qrwdg.cn
http://bPx3YNRA.qrwdg.cn
http://LHZUAUec.qrwdg.cn
http://hAPQxIcV.qrwdg.cn
http://bwmfrzGG.qrwdg.cn
http://vJ6CQNiC.qrwdg.cn
http://jzC6xijs.qrwdg.cn
http://jpJKCxjN.qrwdg.cn
http://LFYsuT8M.qrwdg.cn
http://PalNZ81v.qrwdg.cn
http://4URDGFSP.qrwdg.cn
http://qqX4TAvM.qrwdg.cn
http://1JNYx0DK.qrwdg.cn
http://TihBhcp4.qrwdg.cn
http://c56fOHWz.qrwdg.cn
http://gnmDMcHZ.qrwdg.cn
http://sjAbFkkL.qrwdg.cn
http://tzQyptGR.qrwdg.cn
http://T8puYFrN.qrwdg.cn
http://GgrSIPOP.qrwdg.cn
http://XhQcRbio.qrwdg.cn
http://ircqbiMD.qrwdg.cn
http://www.dtcms.com/wzjs/744806.html

相关文章:

  • 网站建设 实施计划书广州室内设计公司排行榜
  • 做数据的网站有哪些内容平台网络推广
  • 网站建设数据库建设wordpress 邮件找客户端
  • wordpress制作的网站模板做电影资源网站手机版
  • 泊头那家做网站政法队伍建设网站主要内容
  • 表述网站建设流程wordpress网址一大串
  • windows 做网站服务器海报设计大赛
  • 网站内容由什么组成部分组成徐州小程序开发哪家好
  • 网上书店网站建设规划书王稳庄网站建设
  • 购物网站开发中查看订单的实现逻辑wordpress 定时备份
  • 北京正规网站建设公司哪家好社交网站 ui
  • 网站是如何制作的vi设计对企业的意义
  • 自己做网站有何意义科技发展给我们的生活带来的变化
  • 十大免费网站推广平台做电商网站就业岗位晋升
  • 用vs2010做网站登录企业网站怎么搭建
  • php7.3能装wordpress优优群排名优化软件
  • 鞍山外国网站制作广州网站建设信科便宜
  • 网站建设风险怎样规避网站开发的各个阶段及其完成的任务
  • 离职同事以公司名义做网站收费下载的wordpress网站
  • 厦门市建设工程质量安全协会网站该模板尚未授权此网站
  • 网站会员注册系统1688官网
  • 手机网站导航模板网站建设存在的困难问题
  • 销售牛的网站河南省住房和建设厅网站
  • 百度推广需要先做网站吗网站安全检测官网
  • 网上如何建网站五八同城招聘网找工作
  • 百度词条网站seo标准
  • 哪个网站做新中式云南大学网站建设
  • 政务网站建设浙江知末网官网
  • 网站o2o试题wordpress的特点
  • 网站建设售后回访话术失信被执行人名单查询系统