设计公司网站图,做私人网站,免费网站空间免备案,手机wap浏览器Maven是一款用于管理和构建Java项目的工具
Maven的作用#xff1a;
依赖管理#xff1a;方便快捷的管理项目依赖的jar包#xff0c;避免版本冲突问题统一项目结构#xff1a;提供标准统一的项目结构项目构建#xff1a;标准跨平台的自动化项目构建方式
maven创建的工程…Maven是一款用于管理和构建Java项目的工具
Maven的作用
依赖管理方便快捷的管理项目依赖的jar包避免版本冲突问题统一项目结构提供标准统一的项目结构项目构建标准跨平台的自动化项目构建方式
maven创建的工程目录
src下存放的main和testmain是实际代码资源java是Java源文件目录resources是配置文件目录test是测试项目资源pom.xml是项目配置文件
pom中存放了描述当前工程的信息
Maven坐标
Maven中的坐标是资源的唯一标识通过该坐标可以唯一定位资源位置
使用坐标来定义项目或引入项目所需要的依赖
groupId/groupId存放的Maven创建的工程的包的名字 artifactId/artifactId存放的Maven创建的工程的名字
version/version当前项目的版本
这些叫做Maven的坐标
依赖管理
依赖配置
依赖指当前项目运行所需要的jar包一个项目可以引入多个依赖
配置
在pom.xml中编写dependencies标签在dependencies标签中使用dependency引入坐标定义坐标的groupId,artifactId,version点击刷新按钮引入最新加入的坐标
依赖传递
依赖具有传递性 A项目当中依赖了jar包资源和b项目b项目当中依赖了c项目和jar包资源
即使在a项目中没有添加c项目中的依赖也会有c项目中的依赖这就叫做依赖的传递
直接依赖在当前项目中通过依赖配置建立的依赖关系如a和b与另一个jar包
间接依赖被依赖资源如果依赖其他资源当前项目间接依赖其他资源
如b项目依赖其他jar包和c项目那么a项目也会间接依赖c项目和jar包
排除依赖
排除依赖指主动断开依赖的资源被排除的资源无需指定版本
在直接依赖的依赖中添加exclusion标签包裹住不想要使用的间接依赖
exclusions
exclusion
groupId/groupId
artifactId/artifactId
/exclusion
/exclusions
依赖范围
依赖的jar包默认情况下可以在任何地方使用可以通过scope/scope设置其作用范围
scope默认是compile可以在主程序测试程序打包中使用
test可以在测试程序中使用
provided可以在主程序中和测试程序中使用
runtime可以在测试程序中和打包时使用
生命周期
Maven的生命周期就是为了对所有的Maven项目构建过程进行抽象和统一
Maven有三套相互独立的生命周期
clean清理工作default编译测试打包安装部署site生成站点发布站点
每一套生命周期包含一些阶段阶段是有顺序的后面的阶段依赖于前面的阶段
主要的生命周期阶段
clean移除上一次构建生成的文件compile编译项目源代码test使用合适的单元测试框架运行测试package将编译后的文件打包install安装项目到本地仓库
在同一套生命周期当中运行后面的阶段前面的阶段都要运行