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

ppt模板免费下载素材网站网页设计需要掌握哪些技能

ppt模板免费下载素材网站,网页设计需要掌握哪些技能,系统优化的意义,搞笑网站源码文章目录 Maven依赖管理项目构建工具目录一、Maven简介1. Maven介绍2. Maven主要作用理解3. Maven软件工作原理模型图#xff08;了解#xff09; 二、Maven安装和配置1. Maven安装2. Maven环境配置3. Maven功能配置4. IDEA配置本地Maven软件 三、基于IDEA创建Maven工程1. 梳… 文章目录 Maven依赖管理项目构建工具目录一、Maven简介1. Maven介绍2. Maven主要作用理解3. Maven软件工作原理模型图了解 二、Maven安装和配置1. Maven安装2. Maven环境配置3. Maven功能配置4. IDEA配置本地Maven软件 三、基于IDEA创建Maven工程1. 梳理Maven工程GAVP属性2. Idea构建Maven Java SE工程3. Idea构建Maven Java EE工程4. Maven工程项目结构说明 四、基于IDEA进行Maven工程构建1. 构建概念和构建过程2. 命令方式项目构建3. 可视化方式项目构建4. 构建插件、命令、生命周期命令之间关系 五、基于IDEA 进行Maven依赖管理1. 依赖管理概念2. Maven工程核心信息配置和解读GAVP3. Maven工程依赖管理配置4. Maven工程依赖下载失败错误解决重点5. Maven工程Build构建配置 六、Maven依赖传递和依赖冲突1. Maven依赖传递特性2. Maven依赖冲突特性 七、Maven工程继承和聚合关系1. Maven工程继承关系2. Maven工程聚合关系 八、了解Maven仓库之间的关系和优先级 Maven依赖管理项目构建工具 目录 一、Maven简介 1. Maven介绍 https://maven.apache.org/what-is-maven.html Maven 是一款为 Java 项目管理构建、依赖管理的工具软件使用 Maven 可以自动化构建、测试、打包和发布项目大大提高了开发效率和质量。 总结Maven就是一个软件掌握软件安装、配置、以及基本功能 项目构建、依赖管理 使用就是本课程的主要目标 场景1 例如我们项目需要第三方库依赖如Druid连接池、MySQL数据库驱动和Jackson等。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件Maven软件就会自动下载并复制这些依赖项到项目中也会自动下载依赖需要的依赖确保依赖版本正确无冲突依赖链路完整 场景2 完成项目开发后想要将项目打成.war文件并部署到服务器中运行使用Maven软件我们可以通过一行构建命令mvn package快速项目构建和大包节省大量时间 2. Maven主要作用理解 依赖管理 Maven 可以管理项目的依赖包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过 Maven我们可以方便地维护项目所依赖的外部库而我们仅仅需要编写配置即可。 构建管理 项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程 Maven 可以管理项目的编译、测试、打包、部署等构建过程。通过实现标准的构建生命周期Maven 可以确保每一个构建过程都遵循同样的规则和最佳实践。同时Maven 的插件机制也使得开发者可以对构建过程进行扩展和定制。主动触发构建只需要简单的命令操作即可。 3. Maven软件工作原理模型图了解 二、Maven安装和配置 1. Maven安装 https://maven.apache.org/docs/history.html 选用版本 发布时间maven版本jdk最低版本**2019 - 11 - **253.6. 3Java 7 安装条件 maven需要本机安装java环境、必需包含java_home环境变量 软件安装 右键解压即可绿色免安装 软件结构 2. Maven环境配置 配置maven_home 配置path 命令测试cmd窗口 mvn -v # 输出版本信息即可如果错误请仔细检查环境变量即可3. Maven功能配置 我们需要修改maven/conf/settings.xml配置文件来修改maven的一些默认配置。我们主要需要修改的有三个配置1.依赖本地缓存位置本地仓库位置2.maven下载镜像3.maven选用编译项目的jdk版本 配置本地仓库地址 !-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repositorylocalRepository/path/to/local/repo/localRepository--!-- conf/settings.xml 55行 --localRepositoryD:\repository/localRepository配置国内阿里镜像!--在mirrors节点(标签)下添加中央仓库镜像 160行附近-- mirroridalimaven/idnamealiyun maven/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//urlmirrorOfcentral/mirrorOf /mirror配置jdk17版本项目构建!--在profiles节点(标签)下添加jdk编译版本 268行附近-- profileidjdk-17/idactivationactiveByDefaulttrue/activeByDefaultjdk17/jdk/activationpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetmaven.compiler.compilerVersion17/maven.compiler.compilerVersion/properties /profile4. IDEA配置本地Maven软件 我们需要将配置好的maven软件配置到idea开发工具中即可 注意idea工具默认自带maven配置软件但是因为没有修改配置建议替换成本地配置好的maven 打开idea配置文件构建工具配置 依次点击 file / settings / build / build tool / maven 选中本地maven软件 测试是否配置成功 注意如果本地仓库地址不变化只有一个原因就是maven/conf/settings.xml配置文件编写错误仔细检查即可 三、基于IDEA创建Maven工程 1. 梳理Maven工程GAVP属性 Maven工程相对之前的项目多出一组gavp属性gav需要我们在创建项目的时候指定p有默认值我们先行了解下这组属性的含义 Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写其中前三个是必要的而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库总做一个标识类似人的姓-名有了具体标识方便后期项目之间相互引用依赖等 GAV遵循一下规则 1 GroupID 格式com.{公司/BU }.业务线.[子业务线]最多 4 级。 说明{公司/BU} 例如alibaba/taobao/tmall/aliexpress 等 BU 一级子业务线可选。 正例com.taobao.tddl 或 com.alibaba.sourcing.multilang 2 ArtifactID 格式产品线名-模块名。语义不重复不遗漏先到仓库中心去查证一下。 正例tc-client / uic-api / tair-tool / bookstore / xxx 3 Version版本号格式推荐主版本号.次版本号.修订号 1 主版本号当做了不兼容的 API 修改或者增加了能改变产品方向的新功能。 2 次版本号当做了向下兼容的功能性新增新增类、接口等。 3 修订号修复 bug没有修改方法签名的功能加强保持 API 兼容性。 例如 初始→1.0.0 修改bug → 1.0.1 功能调整 → 1.1.1等 Packaging定义规则 指示将项目打包为什么类型的文件idea根据packaging值识别maven项目类型 packaging 属性为 jar默认值代表普通的Java工程打包以后是.jar结尾的文件。 packaging 属性为 war代表Java的web工程打包以后.war结尾的文件。 packaging 属性为 pom代表不会打包用来做继承的父工程。 2. Idea构建Maven Java SE工程 注意此处省略了version直接给了一个默认值version1.0-SNAPSHOT/version 自己后期可以在项目中随意修改 3. Idea构建Maven Java EE工程 手动创建 创建一个javasemaven工程 手动添加web项目结构文件 注意结构和命名固定 修改pom.xml文件打包方式 修改位置项目下/pom.xml groupIdcom.atguigu/groupId artifactIdmaven_parent/artifactId version1.0-SNAPSHOT/version !-- 新增一列打包方式packaging -- packagingwar/packaging刷新和校验 项目的webapp文件夹出现小蓝点代表成功 插件创建 安装插件JBLJavaToWeb file / settings / plugins / marketplace 创建一个javasemaven工程 右键、使用插件快速补全web项目 4. Maven工程项目结构说明 Maven 是一个强大的构建工具它提供一种标准化的项目结构可以帮助开发者更容易地管理项目的依赖、构建、测试和发布等任务。以下是 Maven Web 程序的文件结构及每个文件的作用 |-- pom.xml # Maven 项目管理文件 |-- src|-- main # 项目主要代码| |-- java # Java 源代码目录| | -- com/example/myapp # 开发者代码主目录| | |-- controller # 存放 Controller 层代码的目录| | |-- service # 存放 Service 层代码的目录| | |-- dao # 存放 DAO 层代码的目录| | -- model # 存放数据模型的目录| |-- resources # 资源目录存放配置文件、静态资源等| | |-- log4j.properties # 日志配置文件| | |-- spring-mybatis.xml # Spring Mybatis 配置文件| | -- static # 存放静态资源的目录| | |-- css # 存放 CSS 文件的目录| | |-- js # 存放 JavaScript 文件的目录| | -- images # 存放图片资源的目录| -- webapp # 存放 WEB 相关配置和资源| |-- WEB-INF # 存放 WEB 应用配置文件| | |-- web.xml # Web 应用的部署描述文件| | -- classes # 存放编译后的 class 文件| -- index.html # Web 应用入口页面-- test # 项目测试代码|-- java # 单元测试目录-- resources # 测试资源目录pom.xmlMaven 项目管理文件用于描述项目的依赖和构建配置等信息。src/main/java存放项目的 Java 源代码。src/main/resources存放项目的资源文件如配置文件、静态资源等。src/main/webapp/WEB-INF存放 Web 应用的配置文件。src/main/webapp/index.htmlWeb 应用的入口页面。src/test/java存放项目的测试代码。src/test/resources存放测试相关的资源文件如测试配置文件等。 四、基于IDEA进行Maven工程构建 1. 构建概念和构建过程 项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 项目构建是软件开发过程中至关重要的一部分它能够大大提高软件开发效率使得开发人员能够更加专注于应用程序的开发和维护而不必关心应用程序的构建细节。 同时项目构建还能够将多个开发人员的代码汇合到一起并能够自动化项目的构建和部署大大降低了项目的出错风险和提高开发效率。常见的构建工具包括 Maven、Gradle、Ant 等。 2. 命令方式项目构建 命令描述mvn compile编译项目生成target文件mvn package打包项目生成war文件mvn clean清理编译或打包后的项目结构mvn install打包后上传到maven本地仓库(本地部署)mvn deploy只打包上传到maven私服仓库(私服部署)mvn site生成站点 (报告)mvn test执行测试源码 (测试) maven自带打包插件和jdk版本不匹配pom.xml 添加以下代码即可 build!-- jdk17 和 war包版本插件不匹配 --pluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdversion3.2.2/version/plugin/plugins /buildplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdversion3.2.2/version!-- 打包时忽略web.xml配置文件 --configurationfailOnMissingWebXmlfalse/failOnMissingWebXml/configuration /plugin命令触发练习 mvn 命令 命令#清理 mvn clean #清理并重新打包 mvn clean package #执行测试代码 mvn test3. 可视化方式项目构建 4. 构建插件、命令、生命周期命令之间关系 构建生命周期 我们发现一个情况当我们执行package命令也会自动执行compile命令 [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) mybatis-base-curd --- [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) mybatis-base-curd --- [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) mybatis-base-curd --- [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) mybatis-base-curd --- [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) mybatis-base-curd --- [INFO] --- maven-jar-plugin:2.4:jar (default-jar) mybatis-base-curd --- [INFO] Building jar: D:\javaprojects\backend-engineering\part03-mybatis\mybatis-base-curd\target\mybatis-base-curd-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.013 s [INFO] Finished at: 2023-06-05T10:03:4708:00 [INFO] ------------------------------------------------------------------------这种行为就是因为构建生命周期产生的构建生命周期可以理解成是一组固定构建命令的有序集合触发周期后的命令会自动触发周期前的命令 构建周期作用会简化构建过程 例如项目打包 mvn clean package即可。 主要三个构建生命周期 清理周期主要是对项目编译生成文件进行清理 包含命令clean 默认周期定义了真正构件时所需要执行的所有步骤它是生命周期中最核心的部分 包含命令compile - test - package - install / deploy 报告周期 包含命令site 打包: mvn clean package 本地仓库: mvn clean install 插件、命令、周期三者关系了解 周期→包含若干命令→包含若干插件 使用周期命令构建简化构建过程 最终进行构建的是插件 五、基于IDEA 进行Maven依赖管理 1. 依赖管理概念 Maven 依赖管理是 Maven 软件中最重要的功能之一。Maven 的依赖管理能够帮助开发人员自动解决软件包依赖问题使得开发人员能够轻松地将其他开发人员开发的模块或第三方框架集成到自己的应用程序或模块中避免出现版本冲突和依赖缺失等问题。 我们通过定义 POM 文件Maven 能够自动解析项目的依赖关系并通过 Maven 仓库自动下载和管理依赖从而避免了手动下载和管理依赖的繁琐工作和可能引发的版本冲突问题。 总之Maven 的依赖管理是 Maven 软件的一个核心功能之一使得软件包依赖的管理和使用更加智能和方便简化了开发过程中的工作并提高了软件质量和可维护性。 2. Maven工程核心信息配置和解读GAVP 位置pom.xml !-- 模型版本 -- modelVersion4.0.0/modelVersion !-- 公司或者组织的唯一标志并且配置时生成的路径也是由此生成 如com.companyname.project-groupmaven会将该项目打成的jar包放本地路径/com/companyname/project-group -- groupIdcom.companyname.project-group/groupId !-- 项目的唯一ID一个groupId下面可能多个项目就是靠artifactId来区分的 -- artifactIdproject/artifactId !-- 版本号 -- version1.0.0/version!--打包方式默认jarjar指的是普通的java项目打包方式 项目打成jar包war指的是web项目打包方式项目打成war包pom不会讲项目打包这个项目作为父工程被其他工程聚合或者继承后面会讲解两个概念 -- packagingjar/pom/war/packaging3. Maven工程依赖管理配置 位置pom.xml 依赖管理和依赖添加 !-- 通过编写依赖jar包的gav必要属性引入第三方依赖scope属性是可选的可以指定依赖生效范围依赖信息查询方式1. maven仓库信息官网 https://mvnrepository.com/2. mavensearch插件搜索-- dependencies!-- 引入具体的依赖包 --dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version!--生效范围- compile main目录 test目录 运行打包 [默认]- providedmain目录 test目录 Servlet- runtime 打包运行 MySQL : 编写代码时面向接口使用的都是接口因此编译时根本用不到mysql的驱动包。但是真正运行时必须得有这个jar包。- test: test目录 junit--scoperuntime/scope/dependency/dependencies依赖版本统一提取和维护 !--声明版本-- properties!--命名随便,内部制定版本号即可--junit.version4.11/junit.version!-- 也可以通过 maven规定的固定的key配置maven的参数如下配置编码格式--project.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncoding /propertiesdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactId!--引用properties声明版本 --version${junit.version}/version/dependency /dependencies4. Maven工程依赖下载失败错误解决重点 在使用 Maven 构建项目时可能会发生依赖项下载错误的情况主要原因有以下几种 下载依赖时出现网络故障或仓库服务器宕机等原因导致无法连接至 Maven 仓库从而无法下载依赖。依赖项的版本号或配置文件中的版本号错误或者依赖项没有正确定义导致 Maven 下载的依赖项与实际需要的不一致从而引发错误。本地 Maven 仓库或缓存被污染或损坏导致 Maven 无法正确地使用现有的依赖项。 解决方案 检查网络连接和 Maven 仓库服务器状态。 确保依赖项的版本号与项目对应的版本号匹配并检查 POM 文件中的依赖项是否正确。 清除本地 Maven 仓库缓存lastUpdated 文件因为只要存在lastupdated缓存文件刷新也不会重新下载。本地仓库中根据依赖的gav属性依次向下查找文件夹最终删除内部的文件刷新重新下载即可 例如 pom.xml依赖 dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.2.8/version /dependency文件 5. Maven工程Build构建配置 项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 默认情况下构建不需要额外配置都有对应的缺省配置。当然了我们也可以在pom.xml定制一些配置来修改默认构建的行为和产物 例如 指定构建打包文件的名称非默认名称制定构建打包时指定包含文件格式和排除文件打包插件版本过低配置更高版本插件 构建配置是在pom.xml / build标签中指定 指定打包命名 !-- 默认的打包名称artifactidverson.打包方式 -- buildfinalName定义打包名称/finalName /build 指定打包文件 如果在java文件夹中添加java类会自动打包编译到classes文件夹下 但是在java文件夹中添加xml文件默认不会被打包 默认情况下按照maven工程结构放置的文件会默认被编译和打包 除此之外、我们可以使用resources标签指定要打包资源的文件夹要把哪些静态资源打包到 classes根目录下 !--打包指定静态资源-- build resourcesresource!-- 指定要打包资源的文件夹 要把哪些静态资源打包到 classes根目录下--directorysrc/main/resources/directoryincludes !-- 包含 --include**/*.xml/includeinclude**/*.properties/include/includes/resourceresourcedirectorysrc/main/resources/directoryexcludes !-- 排除 --excludespring/*/exclude/excludesincludesinclude*.xml/include!--include*/*.properties/include--/includes/resource/resources /build配置依赖插件 在 Maven 中插件和依赖项是两个不同的概念。 依赖是指项目依赖的库或其他项目Maven 使用依赖机制来自动管理项目的依赖关系 插件是一种用于扩展 Maven 构建过程的工具。Maven 中有很多插件可以用来完成各种任务例如编译、测试、打包、发布等等。 总体而言依赖是项目所依赖的基本组件而插件是用于扩展 Maven 构建过程的工具。在 pom.xml 文件中依赖通常包含在 dependencies 元素中而插件通常包含在 plugins 元素中。 常用的插件修改构建插件版本、修改jdk版本、tomcat插件、mybatis逆向工程插件等等 build!-- jdk17 和 war包版本插件不匹配 --pluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdversion3.2.2/version/plugin/plugins /build六、Maven依赖传递和依赖冲突 1. Maven依赖传递特性 概念 假如有Maven项目A项目B依赖A项目C依赖B。那么我们可以说 C依赖A。也就是说依赖的关系为C—B—A 那么我们执行项目C时会自动把B、A都下载导入到C项目的jar包文件夹中这就是依赖的传递性。 传递的原则 在 A 依赖 BB 依赖 C 的前提下C 是否能够传递到 A取决于 B 依赖 C 时使用的依赖范围。 B 依赖 C 时使用 compile 范围可以传递B 依赖 C 时使用 test 或 provided 范围不能传递所以需要这样的 jar 包时就必须在需要的地方明确配置依赖才可以。 作用 简化依赖导入过程确保依赖版本正确 依赖传递终止 非compile范围进行依赖传递依赖冲突传递的依赖已经存在 案例导入jackson依赖 分析jackson需要三个依赖 依赖传递关系data-bind中依赖其他两个依赖 最佳导入直接可以导入data-bind自动依赖传递需要的依赖 !-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -- dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.15.0/version /dependency 2. Maven依赖冲突特性 当直接引用或者间接引用出现了相同的jar包! 这时呢一个项目就会出现相同的重复jar包这就算作冲突依赖冲突避免出现重复依赖并且终止依赖传递 maven自动解决依赖冲突问题能力会按照自己的原则进行重复依赖选择。同时也提供了手动解决的冲突的方式不过不推荐 解决依赖冲突如何选择重复依赖方式 自动选择原则 短路优先原则第一原则 A—B—C—D—E—X(version 0.0.1) A—F—X(version 0.0.2) 则A依赖于X(version 0.0.2)。 依赖路径长度相同情况下则“先声明优先”第二原则 A—E—X(version 0.0.1) A—F—X(version 0.0.2) 在depencies/depencies中先声明的路径相同会优先选择 手动排除 dependencygroupIdcom.atguigu.maven/groupIdartifactIdpro01-maven-java/artifactIdversion1.0-SNAPSHOT/versionscopecompile/scope!-- 使用excludes标签配置依赖的排除 --exclusions!-- 在exclude标签中配置一个具体的排除 --exclusion!-- 指定要排除的依赖的坐标不需要写version --groupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions /dependency小案例 伪代码如下 前提A 1.1 - B 1.1 - C 1.1 F 2.2 - B 2.2 pom声明F 2.2A 1.1 B 2.2 请问最终会导入哪些依赖和对应版本 七、Maven工程继承和聚合关系 1. Maven工程继承关系 继承概念 Maven 继承是指在 Maven 的项目中让一个项目从另一个项目中继承配置信息的机制。继承可以让我们在多个项目中共享同一配置信息简化项目的管理和维护工作。 继承作用 在父工程中统一管理项目中的依赖信息。 它的背景是 对一个比较大型的项目进行了模块拆分。一个 project 下面创建了很多个 module。每一个 module 都需要配置自己的依赖信息。 它背后的需求是多个模块要使用同一个框架它们应该是同一个版本项目中使用的框架版本需要统一管理。使用框架时所需要的 jar 包组合或者说依赖信息组合需要经过长期摸索和反复调试最终确定一个可用组合。这个耗费很大精力总结出来的方案不应该在新的项目中重新摸索。 通过在父工程中为整个项目维护依赖信息的组合既保证了整个项目使用规范、准确的 jar 包又能够将以往的经验沉淀下来节约时间和精力。 继承语法 父工程 groupIdcom.atguigu.maven/groupIdartifactIdpro03-maven-parent/artifactIdversion1.0-SNAPSHOT/version!-- 当前工程作为父工程它要去管理子工程所以打包方式必须是 pom --packagingpom/packaging 子工程!-- 使用parent标签指定当前工程的父工程 -- parent!-- 父工程的坐标 --groupIdcom.atguigu.maven/groupIdartifactIdpro03-maven-parent/artifactIdversion1.0-SNAPSHOT/version /parent!-- 子工程的坐标 -- !-- 如果子工程坐标中的groupId和version与父工程一致那么可以省略 -- !-- groupIdcom.atguigu.maven/groupId -- artifactIdpro04-maven-module/artifactId !-- version1.0-SNAPSHOT/version --父工程依赖统一管理 父工程声明版本!-- 使用dependencyManagement标签配置对依赖的管理 -- !-- 被管理的依赖并没有真正被引入到工程 -- dependencyManagementdependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion4.0.0.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion4.0.0.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion4.0.0.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-expression/artifactIdversion4.0.0.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactIdversion4.0.0.RELEASE/version/dependency/dependencies /dependencyManagement子工程引用版本!-- 子工程引用父工程中的依赖信息时可以把版本号去掉。 -- !-- 把版本号去掉就表示子工程中这个依赖的版本由父工程决定。 -- !-- 具体来说是由父工程的dependencyManagement来决定。 -- dependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactId/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactId/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactId/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-expression/artifactId/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactId/dependency /dependencies2. Maven工程聚合关系 聚合概念 Maven 聚合是指将多个项目组织到一个父级项目中以便一起构建和管理的机制。聚合可以帮助我们更好地管理一组相关的子项目同时简化它们的构建和部署过程。 聚合作用 管理多个子项目通过聚合可以将多个子项目组织在一起方便管理和维护。构建和发布一组相关的项目通过聚合可以在一个命令中构建和发布多个相关的项目简化了部署和维护工作。优化构建顺序通过聚合可以对多个项目进行顺序控制避免出现构建依赖混乱导致构建失败的情况。统一管理依赖项通过聚合可以在父项目中管理公共依赖项和插件避免重复定义。 聚合语法 父项目中包含的子项目列表。 projectgroupIdcom.example/groupIdartifactIdparent-project/artifactIdpackagingpom/packagingversion1.0.0/versionmodulesmodulechild-project1/modulemodulechild-project2/module/modules /project聚合演示 通过触发父工程构建命令、引发所有子模块构建产生反应堆 八、了解Maven仓库之间的关系和优先级 Maven 仓库主要分为本地仓库Local Repository、中央仓库Central Repository和远程仓库Remote Repository三种类型。 本地仓库 本地仓库是 Maven 在本地系统上创建的一个目录用于存储本地构建的项目所需的所有依赖项和插件等。每个用户都有一个本地仓库位于用户主目录下的 .m2 文件夹中。当 Maven 需要某个依赖项时它会首先查找本地仓库中是否已经存在该依赖项的本地缓存如果存在则直接使用否则会向远程仓库请求下载。 中央仓库 中央仓库是 Maven 官方维护的仓库包含了大量的开源项目和库的依赖项和插件等是 Maven 构建时默认会访问的仓库。当本地仓库中不存在所需依赖项时Maven 将尝试从中央仓库下载依赖项并缓存到本地仓库中。Maven 默认使用的是 Maven 官方的中央仓库也可以使用其他公共或私有的中央仓库。 远程仓库 远程仓库通常由管理员或团队维护用于共享内部项目的构件和依赖或者作为第三方依赖库的备选源。Maven 会检查远程仓库中是否存在所需的依赖项如果存在则下载并缓存到本地仓库中。远程仓库可以是私有的或公共的也可以是 Maven 的其他仓库类型如镜像仓库。 仓库的优先级顺序为本地仓库 远程仓库 中央仓库。也就是说如果本地仓库中已经存在所需依赖项Maven 将直接使用本地仓库中的该依赖项而不会再去远程仓库或中央仓库下载。 总之Maven 的仓库机制提供了依赖项和插件管理的核心支持使得项目的构建和部署更加便捷和高效。理解和掌握 Maven 的仓库机制对于 Maven 的使用和开发至关重要。
http://www.zqtcl.cn/news/698205/

相关文章:

  • 广州哪里有做网站推广最牛的网站建
  • 建设网站用户名是什么原因世界500强企业排名2020
  • 创建网站要找谁手机网站后台源码
  • canvas网站源码网站静态和动态区别
  • 网站建设需要了解哪些方面数据分析工具
  • 求个网站没封的2021网站建设初步课程介绍
  • 沈阳网站前端网站建栏目建那些
  • 经典网站案例江苏省建设厅官网
  • 公司建设网站需要多少钱重庆房产网站建设
  • 鹤岗市建设局网站可信网站认证有用吗
  • 网站注册的账号怎么注销如何百度推广
  • 用wordpress制作网站模板阿里云网站建设合作
  • 金华建设公司网站宝武马钢集团公司招聘网站
  • 万州网站制作公司阳江市网站建设
  • 下载建设网站软件投资公司注册资金多少
  • 如何创建一个论坛网站免费域名解析平台
  • 国外经典手机网站设计单位做网站有哪些
  • 网站备案 优帮云百度提交入口网址截图
  • 广州五羊建设官方网站富阳区住房和城乡建设局网站
  • 网站代理怎么做的wordpress有什么缺点
  • 哪些网站可以做免费外贸Wordpress首图自动切换
  • 建网站几个按钮公司黄页企业名录在哪里查
  • 网站建设类外文翻译游戏开科技软件免费
  • 黄山家居网站建设怎么样济南在线制作网站
  • 东莞电子产品网站建设营销型网站推广方式的论文
  • 如何寻找做网站的客户聚名网查询
  • 甘肃制作网站凡科快图官网登录入口在线
  • discuz网站建设教学视频教程哪些大型网站有做互联网金融
  • jquery动画特效网站物流网站前端模板下载
  • 上海集团网站建设网站都是用什么语言写的