石家庄建设网站哪家好,做一个手机app的步骤,怎样自己做网页设计网站,休闲度假村网站建设方案文章目录Maven简介Maven 工作模式1.仓库2.坐标Maven的基本使用1.常用命令2.生命周期依赖管理1.依赖配置2.依赖传递3.可选依赖4.排除依赖5.依赖范围IDEA配置MavenMaven简介
Apache Maven 是一个项目管理和构建工具#xff0c;它基于项目对象模型(POM)的概念#xff0c;通过一…
文章目录Maven简介Maven 工作模式1.仓库2.坐标Maven的基本使用1.常用命令2.生命周期依赖管理1.依赖配置2.依赖传递3.可选依赖4.排除依赖5.依赖范围IDEA配置MavenMaven简介
Apache Maven 是一个项目管理和构建工具它基于项目对象模型(POM)的概念通过一小段描述信息来管理项目的构建、报告和文档。
官网 http://maven.apache.org/
Maven是专门用于管理和构建Java项目的工具它的主要功能有 提供了一套标准化的项目结构 提供了一套标准化的构建流程编译测试打包发布…… 提供了一套依赖管理机制
Maven构建的项目目录是统一的如下图 什么是依赖管理 如果没有Maven的话在项目中使用某些第三方资源时就需要去下载对应的jar包
而Maven使用标准的 坐标 配置来管理各种依赖只需要简单的配置就可以完成依赖管理
如Mysql驱动包
Maven 工作模式 1.仓库
当我们写好坐标之后Maven是怎么导入这些依赖jar包的呢
其实依赖jar包是存储在我们的本地仓库中。而项目运行时从本地仓库中拿需要的依赖jar包。
当项目中使用坐标引入对应依赖jar包后首先会查找本地仓库中是否有对应的jar包 如果有则在项目直接引用; 如果没有则去中央仓库中下载对应的jar包到本地仓库。
2.坐标
Maven 中的坐标是资源的唯一标识使用坐标来定义项目或引入项目中需要的依赖坐标查询网站https://mvnrepository.com/
Maven 坐标主要组成
groupId定义当前Maven项目隶属组织名称通常是域名反写artifactId定义当前Maven项目名称通常是模块名称例如 order-service、goods-serviceversion定义当前项目版本号 Maven的基本使用
1.常用命令
1compile 编译
从中央仓库 / 阿里云下载编译需要的插件的jar包在本地仓库也能看到下载好的插件在项目下会生成一个 target 目录
2clean清理
从阿里云下载清理需要的插件jar包删除项目下的 target 目录
3test测试 该命令会执行所有的测试代码
4package打包
从阿里云下载打包需要的插件jar包在项目的 terget 目录下有一个jar包将当前项目打成的jar包
5 install安装 该命令会将当前项目打成jar包并安装到本地仓库
2.生命周期
默认的生命周期 注意同一套生命周期内执行后边的命令前面的所有命令会自动执行
依赖管理
什么是依赖 依赖指当前项目运行所需的jar一个项目可以设置多个依赖
1.依赖配置
!--设置当前项目所依赖的所有jar--
dependencies!--设置具体的依赖--dependency!--依赖所属群组id--groupIdorg.springframework/groupId!--依赖所属项目id--artifactIdspring-webmvc/artifactId!--依赖版本号--version5.2.10.RELEASE/version/dependency
/dependencies2.依赖传递
A依赖了B和C,B和C又分别依赖了其他jar包所以在A项目中就可以使用上面所有jar包这就是所说的依赖传递
直接依赖 间接依赖 3.可选依赖
可选依赖指对外隐藏当前所依赖的资源——不透明
dependencygroupIdcom.itheima/groupIdartifactIdmaven_03_pojo/artifactIdversion1.0-SNAPSHOT/version!--可选依赖是隐藏当前工程所依赖的资源隐藏后对应资源将不具有依赖传递--optionaltrue/optional
/dependency4.排除依赖
排除依赖指主动断开依赖的资源被排除的资源无需指定版本—不需要
dependencygroupIdcom.itheima/groupIdartifactIdmaven_04_dao/artifactIdversion1.0-SNAPSHOT/version!--排除依赖是隐藏当前资源对应的依赖关系--exclusionsexclusiongroupIdcom.itheima/groupIdartifactIdmaven_03_pojo/artifactId/exclusion/exclusions
/dependencyA依赖B,B依赖C,C通过依赖传递会被A使用到现在要想办法让A不去依赖C
可选依赖是在B上设置optional,A不知道有C的存在排除依赖是在A上设置exclusions,A知道有C的存在主动将其排除掉。
5.依赖范围
通过设置坐标的依赖范围(scope)可以设置 对应jar包的作用范围编译环境、测试环境、运行环境
比如Junit scope设置为test就只能作用在测试环境 IDEA配置Maven