Meaven的基本命令及软件特性内容讲解
树图思维导图提供 Meaven管理工具脑图 在线思维导图免费制作,点击“编辑”按钮,可对 Meaven管理工具脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:005ba4d71a6336ea46f159ed15ff79f2
Meaven思维导图模板大纲
专家,内行, 是一个项目开发结构管理工具,可以对java项目结构,开发,构建,依赖进行统一的标准管理
我们会发现myecplise、eclipse、idea都是创建JavaWeb 项目,但是JavaWeb项目的结构确实不同的,这就给开发带来的很大的问题, 所以使用maven来统一标准的项目开发构建方式
1:统一标准的项目开发构建方式
2:依赖管理:Java开发种往往除了核心的JDK之外, 我们还要用到大量的第三方jar包,尤其是我们在使用第三方框架开发时,在动手处理时效率低下。
maven可以很好的解决上面的问题,它能够自动处理级联依赖,还有依赖之间版本兼容问题,
什么场合下用到maven: 当我们项目中依赖的第三方jar包很多时,关系很复杂时,靠我们手工处理几乎不可能,
clean生命周期:清理工作
default生命周期:核心工作,例如编译,测试,打包,部署
对于default生命周期,每个事件在执行之前都会将之前的所有事件依次执行一遍
site生命周期:产生报告,发布站点等
进入到需要构建的maven项目的根目录中,通过cmd打开的命令提示窗口可以执行如下命令进行 maven项目的构建。
Pom(project Object Model,项目对象模型)是Maven工程的 基本工作单元, 是一个xml文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖jar,等等。 执行任务或目标时,Maven会在当前目录种查找POM,他读取POM,获取所需的配置信息,然后执行目标。 我们经常需要打交道的就是这个pom.xml文件。 POM中可以指定以下配置
项目坐标 自定义properties 项目打包方式 添加依赖 管理依赖 构建 添加插件 插件管理 项目构建profile 项目开发者列表(不重要) 相关邮件列表信息(不重要)
指定打包方式
jar:该资源打成jar包,默认是jar,javase项目。
war:该资源打成war包,web项目。
pom:该资源是一个父资源(表明使用maven分模块管理),打包时只生成一个pom.xml 不生成jar或其他包结构,聚合和继承时使用
Build:配置插件
Maven中的Properties
maven中的properties标签有两种 自定义属性 内置属性
自定义属性: 通常用来统一管理版本,在<dependencies>标签中配置依赖时,通过$(自定义属性)来引用<properties>标签中定义的属性
内置属性
内置属性的定义方式和自定义属性一样,但是不需要我们显示去使用,maven会自动读取。 通常用来指定项目编码、编译版本等
Maven工程坐标
添加依赖
maven的pom.xml中,依赖的管理通过<denpendencies>标签来管理,该标签下可以出现一 个或多个<denpendency>子标签。 一个<denpendency>标签代表一个依赖。
Maven中依赖的Scope
test
该范围表明相关依赖,只在测试阶段可以使用
compile(默认)
只是在项目的类路径下有效,所有地方都可以使用,默认取值
provided
相关依赖是外部提供的,只在编译,测试,开发阶段会用到,最终打包时不需要打进去,运行时并不使用
runtime
该范围表明相关依赖在编译阶段不是必须的,但是在执行阶段是必须的。只 在编译、测试、开发阶段不用,最终打包时需要打进去,运行时使用。
system
该范围表明你需要提供一个系统路径。
import
该范围只在依赖是一个 pom 里定义的依赖时使用。同时,当前项目的POM 文件的 部分定义的依赖关系可以取代某特定的 POM。
传递依赖与排斥以来
传递依赖
如果我们的项目引用了一个jar包,而该jar包又引用了其他jar包, 那么在默认情况下项目编译时,maven会把直接引用和间接引用的jar包都下载到本地
排除依赖
如果我们只想下载直接引用的jar包,那么需要在Pom.xml中做如下配置: 将需要排除的jar包的坐标卸载中)