国外创意网站设计欣赏,品牌设计公司报价,芜湖做网站推广有哪些公司,网站qq 微信分享怎么做的介绍#xff1a;
web后端开发技术ApacheMaven是一个项目管理和构建工具#xff0c;它基于项目对象模型#xff08;POM#xff09;的概念#xff0c;通过一小段描述信息来管理项目的构建。安装#xff1a;http://maven.apache.org/ Apache软件基金会#xff0c;成立于19…
介绍
web后端开发技术ApacheMaven是一个项目管理和构建工具它基于项目对象模型POM的概念通过一小段描述信息来管理项目的构建。安装http://maven.apache.org/ Apache软件基金会成立于1999年7月是目前世界上最大的最受欢迎的开源软件基金会也是一个专门为支持开源项目而生的非盈利性组织。 开源项目https://www.apache.org/index.html#projects-list Maven的作用 依赖管理可以快捷的管理jar包统一项目结构使得同一个java项目可以在不同的平台迁移 项目构建 概述 Maven坐标
什么是坐标 Maven中的坐标是资源的唯一标识通过改坐标可以唯一定位资源位置可以使用坐标来定义项目或引入项目中所需要的依赖 坐标组成 groupld定义当前Maven项自隶属组织名称artifactld定义当前Maven项目名称(通常是模块)version定义当前项自版本号 Maven模型
项目对象模型 (Project Object Model)依赖管理模型(Dependency)构建生命周期/阶段(Build lifecycle phases)
1). 构建生命周期/阶段(Build lifecycle phases) 以上图中紫色框起来的部分就是用来完成标准化构建流程 。当我们需要编译Maven提供了一个编译插件供我们使用当我们需要打包Maven就提供了一个打包插件供我们使用等。
2). 项目对象模型 (Project Object Model)以上图中紫色框起来的部分属于项目对象模型就是将我们自己的项目抽象成一个对象模型有自己专属的坐标如下图所示是一个Maven项目这里还未添加依赖添加后如图坐
3). 依赖管理模型(Dependency)以上图中紫色框起来的部分属于依赖管理模型是使用坐标来描述当前项目依赖哪些第三方jar包如图
之前我们项目中需要jar包时直接就把jar包复制到项目下的lib目录而现在书写在pom.xml文件中的坐标又是怎么能找到所要的jar包文件的呢Maven有一个仓库专门存放jar包不需手动导入了 Maven仓库
仓库用于存储资源管理各种jar包仓库分类本地仓库自己计算机上的一个目录中央仓库由Maven团队维护的全球唯一的。仓库地址:仓库 Maven仓库远程仓库私服一般由公司团队搭建的私有仓库当项目中使用坐标引入对应依赖jar包后首先会查找本地仓库中是否有对应的jar包
如果有则在项目直接引用如果没有则去中央仓库中下载对应的jar包到本地仓库
如果还可以搭建远程仓库(私服)将来jar包的查找顺序则变为 本地仓库 -- 远程仓库– 中央仓库 IDEA集成Maven
配置Maven环境创建Maven项目导入Maven项目
见资料, 依赖管理 依赖配置
依赖指当前项目运行所需要的jar包一个项目中可以引入多个依赖配置
在pom.xml 中编写标签在标签中使用引入坐标定义坐标的grouldartifactIdversion点击刷新按纽引入最新加入的坐标
配置完记得刷新一下如果引入的依赖在本地仓库不存在将会连接远程仓库/中央仓库然后下载依赖如果不知道依赖的坐标信息可以到Maven仓库中搜索。 依赖传递
早期我们没有使用maven时向项目中添加依赖的jar包需要把当前jar包的依赖都复制到项目工程下。非常麻烦但是有了maven它有依赖传递的特性
依赖具有传递性 直接依赖在当前项目中通过依赖配置建立的依赖关系简洁依赖被依赖的资源如果依赖其他资源则当前项目间接依赖其他资源 排除依赖
排除依赖指主动断开依赖的资源被排除的找资源无序指定版本排除后 依赖范围
依赖的jar包默认情况下可以下任何地方使用。可以使用…设置其作用范围作用范围的分类
主程序范围有效main文件夹内测试程序范围有效。test文件夹范围内是否参与打包运行。package
scope值compilemain中可调用jar包中的内容Test中可调用jar包中的内容Test只能在测试程序范围有效其他范围一样… 生命周期
Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。Maven中有三套相互独立的生命周期
clearn清理工作default核心工作如编译、测试、打包、安排、部署等。site生成报告、发布战点等。
重点掌握 test测试时我们依赖junit来测试 在同一套生命周期中当运行后面的阶段时前面的阶段都会运行。如执行install时也会执行compile、test… 执行生命周期
方式一在idea中右侧的maven工具栏选择方式二通过命令行执行
演示 compile
test:package
installclean:
方式二进入模块打开cmdpackage但是有报错问题![57KaTeX parse error: Expected EOF, got } at position 8: GZC0W95}̲Y[0N]R)]E3G.png](https://img-blog.csdnimg.cn/img_convert/49a41c6e87a7be8309a0c11a2ef9750b.png)之前导入的maven模块也无法执行生命周期考虑是groupId的问题