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

巩义网站建设案件数据wap医院网站建设

巩义网站建设案件数据,wap医院网站建设,市场调查 网站建设,wordpress如何设置头像依赖传递和依赖冲突 依赖传递指的是当一个模块或库 A 依赖于另一个模块或库 B,而 B 又依赖于模块或库 C,那么 A 会间接依赖于 C。这种依赖传递结构可以形成一个依赖树。当我们引入一个库或框架时,构建工具(如 Maven、Gradle&…

依赖传递和依赖冲突

依赖传递指的是当一个模块或库 A 依赖于另一个模块或库 B,而 B 又依赖于模块或库 C,那么 A 会间接依赖于 C。这种依赖传递结构可以形成一个依赖树。当我们引入一个库或框架时,构建工具(如 Maven、Gradle)会自动解析和加载其所有的直接和间接依赖,确保这些依赖都可用

导入依赖的同时,也会导入此依赖的依赖

依赖传递的作用

  1. 减少重复依赖:当多个项目依赖同一个库时,Maven 可以自动下载并且只下载一次该库。这样可以减少项目的构建时间和磁盘空间。
  2. 自动管理依赖: Maven 可以自动管理依赖项,使用依赖传递,简化了依赖项的管理,使项目构建更加可靠和一致。
  3. 确保依赖版本正确性:通过依赖传递的依赖,之间都不会存在版本兼容性问题,确实依赖的版本正确性

依赖冲突

当发现要依赖的依赖项已经完成依赖,就会终止依赖传递,避免循环依赖和重复依赖的问题

依赖冲突的解决原则

  • 依赖传递链短的优先,例:

A—>B—>C—>D—>E—>X(version 0.0.1)

A—>F—>X(version 0.0.2)

则A依赖于X(version 0.0.2)。

  • 依赖传递链一样长,则先声明者优先

在\<depencies>\</depencies>中,路径长度相同,先声明的,会优先选择

构建管理

项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤

主动触发场景:

  • 重新编译 : 编译不充分, 部分文件没有被编译!
  • 打包 : 独立部署到外部服务器软件,打包部署
  • 部署本地或者私服仓库 : maven工程加入到本地或者私服仓库,供其他工程使用

命令方式构建:

语法: mvn 构建命令 构建命令....

命令描述
mvn clean清理编译或打包后的项目结构,删除target文件夹
mvn compile编译项目,生成target文件
mvn test执行测试源码 (测试)
mvn site生成一个项目依赖信息的展示页面
mvn package打包项目,生成war / jar 文件
mvn install打包后上传到maven本地仓库(本地部署)
mvn deploy只打包,上传到maven私服仓库(私服部署)

注:①命令执行需要进入项目的根路径 ②部署必须是jar包形式

idea中maven工具处理

即使用idea右侧边栏上的maven工具处理

构建命令周期

构建生命周期可以理解成是一组固定构建命令的有序集合,触发周期后的命令,会自动触发周期前的命令!也是一种简化构建的思路!

在一个周期中,触发周期位于后面的命令,会自动先触发此命令前面的所有命令

  • 清理周期:主要是对项目编译生成文件进行清理

    包含命令:clean

  • 默认周期:定义了真正构件时所需要执行的所有步骤,它是生命周期中最核心的部分

    包含命令:compile - test - package - install / deploy

  • 报告周期

    包含命令:site

    打包: mvn clean package 本地仓库: mvn clean install

建议在编译(compile)、打包(package)、部署(install)的命令之前,加上clean命令

关于配置插件

build标签:配置插件在build标签中进行

plugins标签:放在build标签中,plugins中有着多个plugin标签

plugin标签:表示一个插件,plugin中有着指定插件的gav属性

Maven继承和聚合特性

Maven工程继承

Maven继承是指在Maven的项目中,让一个项目从另一个项目中继承配置信息的机制。Maven继承可以让我们在多个项目中共享同一配置信息,简化项目的管理和维护工作

作用

在父工程中统一管理项目中的依赖信息,进行统一版本管理

继承的使用语法

父工程

  1. 父工程的打包方式必须是pom,所以要packaging属性设置为pom
  2. 将src目录删除,因为父工程用来继承配置信息,不需要业务代码,只需要pom.xml
  3. 父工程中在dependencies标签中导入依赖的话,其所有的子工程都会导入这些依赖
  4. 父工程中在dependencyManagement中导入依赖的话,子工程中不会下载这些依赖,这些依赖的版本号会被继承到子工程
<groupId>com.atguigu.maven</groupId>
<artifactId>pro03-maven-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 当前工程作为父工程,它要去管理子工程,所以打包方式必须是 pom -->
<packaging>pom</packaging><dependencies></dependencies><dependencyManagement><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency></dependencies>
</dependencyManagement>

子工程

  1. 子工程创建在其父工程下,创建后,会自动生成一个parent标签,其中存放着其父工程的gav属性
  2. 若一个依赖在父工程中的dependencyManagement标签中导入,子工程想导入其依赖,只需要在dependencies标签内的dependency标签中的groupId和artifactId即可,版本号会自动继承父工程中dependencyManagement标签中的相应依赖的version,即gav只要写ga
  3. 若是子工程导入的依赖中指定了版本号,则按照子工程的版本号来,类似于Java中的重写
<parent><artifactId>maven-pom-parent</artifactId><groupId>com.ergou</groupId><version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion><groupId>com.ergou</groupId>
<artifactId>maven-shop-order</artifactId><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><!--可以不用写版本号,会继承父工程中的版本号--></dependency></dependencies>

Maven工程聚合

Maven聚合是指将多个项目组织到一个父级项目中,通过触发父工程的构建,统一按顺序触发子工程构建的过程

聚合的作用

  1. 统一管理子项目构建:通过聚合,可以将多个子项目组织在一起,方便管理和维护。
  2. 优化构建顺序:通过聚合,可以对多个项目进行顺序控制,避免出现构建依赖混乱导致构建失败的情况。

在父工程的pom.xml文件中,会多出一个modules标签,其中有代表着子工程的module标签,父工程聚合管理着module标签对应的子工程

<modules><module>maven-test-son</module>
</modules>

http://www.yayakq.cn/news/990401/

相关文章:

  • 杭州做网站吧网络规划设计师备考需要多久
  • 网站开发在线培训龙岗在线网站制作
  • 怎样发掘网站建设的客户有做lol直播网站有哪些人
  • 包头移动的网站建设手机网站自动跳转
  • 苏州网站建设品牌公司长春建站模板评测
  • 免费做微信链接的网站吗河南网站建设设计价格
  • 东莞企业网站定制设计建筑行业网站建设
  • 一个网站需要多少钱google浏览器官方
  • h5模版网站优惠券网站cms建设
  • 建设信用卡积分兑换商城网站漳州企业网站建设制作
  • 网站首页为什么不收录h5网站怎么做的吗
  • 多语言网站多域名推广网站运营怎么样
  • 做网站客户总是要退款开网站需要准备什么
  • 国内餐饮设计网站建设网站建设中页面源码
  • wordpress设置网站地址wordpress 自定义上传图片
  • 爱站查询列举网络推广的方式
  • 网站建设排期市场营销怎么做推广
  • 卡盟网站开发做模板网站简单吗
  • 百度收录网站怎么更改关键词海淀营销型网站建设
  • 韩国男女做那个视频网站html源码之家
  • 国家住房和城乡建设局网站首页万能网页视频下载
  • 优秀网站建设价格做一个电商网站多少钱
  • 怎么做 代刷网站哪方面的网站
  • 有哪些网站可以用你会怎么做外国的网站吗
  • 新开网站宁波搭建网站公
  • 石家庄定制网站建设服务粉丝社区网站怎么做
  • 网站开发长期合作开源社区的发展前景
  • phpmysql网站开发项目式教程wordpress怎么被百度收录
  • 教做年糕博客网站重庆建材网
  • 网站建设的ppt建站平台与自己做网站