项目管理利器maven入门笔记(2)
来源:互联网 发布:深入理解linux内核4.4 编辑:程序博客网 时间:2024/05/21 17:30
以下内容笔记来自慕课网视频《项目管理利器——maven》
第三章 maven核心知识
- 第三章 maven核心知识
- 3-1 常用的构建命令
- 3-2 自动建立目录骨架
- 3-3 maven中的坐标和仓库
- 3-4 在eclipse中安装maven插件以及创建maven项目
- 3-5 maven的生命周期
- 3-6 pomxml解析
- 3-7 依赖范围
- 3-8 依赖传递
- 3-9 依赖冲突
- 3-10 聚合和继承
- 第四章 如何构建web项目
- 4-1 使用maven构建web项目
- 第三章 maven核心知识
3-1 常用的构建命令
3-2 自动建立目录骨架
archetype插件
(1)archetype插件用于创建符合maven规定的目录骨架
archetype插件的两种使用方式
(1)命令行界面进入项目根目录,输入
mvn archetype:generate
命令,根据提示依次输入maven-archetype的版本、groupId、arctifactId、version、package。(2)或者一次输入所有参数,eg
mvn archetype:generate -DgroupId:项目包名 -DarctifactId:项目模块名 -Dversion:版本号 -Dpackage:模块包名
,根据提示选择maven-archetype版本以及参数的确认。
3-3 maven中的坐标和仓库
maven的坐标
(1)在maven中,任何一个依赖、插件、项目构建的输出等都可以被称为构件。所有构建均通过坐标作为其唯一的标识。
(2)标签groupId、artifactId、version标签就是maven项目的基本坐标。
maven的仓库
maven的仓库用来管理项目的依赖,仓库又分为两种
本地仓库
和远程仓库
。查找项目所需依赖时,先查找本地仓库,再查找远程仓库。
查看maven默认的全球仓库地址
打开maven目录 => bin>maven-model-builder.jar>org\apache\maven\model\pom.xml(ps:maven提供的超级pom,所有maven项目都会继承这个pom) => repository标签下的url标签。
设置镜像仓库
打开maven目录\conf\settings.xml => 找到mirrors标签,输入以下代码:
<mirror> <id>maven.net.cn</id> <mirrorOf>central</mirrorOf> <name>central mirror in china</name> <url>http://maven.net.cn/content/groups/public</url></mirror>
设置镜像仓库后,中央仓库将无法访问
更改本地仓库位置
(1)maven默认的本地仓库地址:
c:\user\用户\.m2\repository
(2)打开settings.xml => 找到localRepository标签 => 输入设置的本地仓库地址,注意:路径文件夹的分隔符要使用“/”。
3-4 在eclipse中安装maven插件以及创建maven项目
安装maven插件
(1)eclipse4.0及以上版本自带maven插件,无需额外安装。
(2)maven的运行需要jdk,eclipse默认安装在jre上,需要修改eclipse的eclipse.ini文件:
-vmc:\jdk1.7.0_55\bin\javaw.exe
(3)修改eclipse的jre,在eclipse界面菜单栏 => window => preferences => java => Installed JREs => Add => Standard VM => 在JRE home文本框中添加jdk的目录 => finish => 勾选添加的jdk => Edit => 在Default VM Arguments文本框输入
-Dmaven。multiModuleProjectDirectory=$设置的maven目录变量
=>finish(4)更改eclipse中maven默认的配置
eclipse菜单栏 => window => preferences = > maven => Installations => Add =>maven的安装目录
eclipse菜单栏 => window => preferences = > maven => User Settings => 选择maven\conf\settings.xml的文件
创建maven项目
New => Maven => Maven Project =>2*next => 选择maven的目录模板quickstart模板 => next => 输入项目坐标 => finish
运行maven项目
eclipse的项目目录下pom.xml右键 => Run As => Maven Build => 在Goals文本框输入compile命令 =>run
3-5 maven的生命周期
完整的项目构建过程
清理、编译、测试、打包、集成测试、验证、布署
maven项目的生命周期
maven包括三套独立的生命周期,clean(清理项目)、default(构建项目)、site(生成项目站点)。每个生命周期又包含一些阶段,各个生命周期的阶段是有顺序的,且后面的阶段依赖于前面的阶段,执行某个阶段时其前面的阶段会依次顺序执行,但不会触发另外两套生命周期的任何阶段。
clean的阶段
default的阶段
default的阶段比较多,常用的阶段有compile、test、package、install
site的阶段
使用maven的第三方插件
3-6 pom.xml解析
pom.xml是maven项目的核心管理文件,用于项目描述、组织管理、依赖管理和构件信息的管理。
pom.xml的常用标签
pom的重要标签(1)
pom的重要标签(2)
pom的其他标签
3-7 依赖范围
scope标签指定依赖的范围,当前项目如果要使用某一个框架,就要把该框架的jar包引入到classpath路径中,这样项目就能使用该框架的方法。maven中提供了三种classpath,分别是编译、测试、运行。依赖的范围就是控制依赖与三种classpath的关系。
scope的六种属性
3-8 依赖传递
依赖的传递,指当A依赖B,B依赖C,则A依赖C。
排除传递的依赖
使用exclusions标签
<dependency> <坐标>需要依赖项目的坐标</坐标> <exclusions> <exclusion> <坐标>需要排除的依赖项目的坐标</坐标> </exclusion> </exclusions></dependency>
3-9 依赖冲突
依赖冲突,指有A和B分别依赖于C的不同版本。当D同时依赖于A和B时,则D对传递的依赖C的实际版本是哪一个,需要规则去约定。
3-10 聚合和继承
聚合:将多个项目一起进行install命令,安装到本地仓库中的方法叫聚合
步骤:新建maven项目 => 将pom.xml中的packaging标签内容修改为”pom” => 在pom.xml中加入如下代码:
<modules> <module>项目的路径</module> <module>项目的路径</module> <module>项目的路径</module> ...</modules>
继承:多个maven项目需要依赖同一个框架或maven项目。
步骤:(1)新建maven项目 => 将pom.xml中的packaging标签内容修改为”pom” => 在pom.xml中加入如下代码:
<dependencyManagement> <dependencies> <dependency> <坐标>被依赖的项目坐标</坐标> </dependency> </dependencies></dependencyManagement>
(2)在需要继承的项目pom.xml中,加入
<parent> <坐标>需要被继承的项目</坐标></parent>
第四章 如何构建web项目
4-1 使用maven构建web项目
略
相关:入门笔记(1)
入门笔记(3)
- 项目管理利器maven入门笔记(2)
- 项目管理利器maven入门笔记(1)
- 项目管理利器-maven
- 项目管理利器-Maven
- 项目管理利器--Maven
- Maven项目管理利器
- 项目管理利器-maven
- 项目管理利器Maven
- 项目管理利器-maven
- 项目管理利器Maven
- Maven项目管理利器
- 项目管理利器--Maven
- 项目管理利器——Maven(慕课网学习笔记)
- 项目管理利器—maven
- 项目管理利器——maven
- 项目管理利器maven学习总结
- 项目管理利器—maven(二)
- 项目管理利器(Maven)——Maven的生命周期
- bjoi2016题解<不断更新<毕竟自己弱嘛TAT>>
- 支付宝接入中踩了个小坑
- Vitural Box 使用已有镜像文件报错 E_INVALIDARG (0x80070057)
- 10-logistic regression
- springmvc快速入门(XML版本)
- 项目管理利器maven入门笔记(2)
- iOS面试题四
- 如何将网站部署到IIS服务器上
- 算法复习笔记(回溯法,分支限界法)
- 冗余关系的判断_递归
- 七牛云存储使用笔记
- js 中 == 和 ===的区别
- Find Closet Pairs -- To be continue
- 常见排序算法