Maven主要功能以及概念介绍

Maven主要功能以及概念介绍

  • Maven的主要功能
    Maven是一种构建工具(打包项目)、依赖管理工具(资源依赖管理工具:主要用于集成资源)、项目信息聚合工具

Maven主要功能以及概念介绍_第1张图片

Maven主要功能以及概念介绍_第2张图片

Maven主要功能以及概念介绍_第3张图片

项目的开发环境(eclipse中包含jre包、 j2ee包)、测试环境的部署(Tomcat部署)是不一样的,主要体现在包的结构等
之前是通过Ant进行打包部署,在其中写相应的脚本,告诉需要引用哪些包。
Maven集成了Ant

  • Maven的核心概念
    1.坐标
    定位在中央仓库的位置,在pom文件中有详细定义

Maven主要功能以及概念介绍_第4张图片
组成路径信息,从远程中央仓库获取资源,

Maven主要功能以及概念介绍_第5张图片
2.依赖
scope参数:依赖范围
maven项目结构
src目录下有main (主代码)、test(测试代码),与src同级的文件有个pom.xml
Maven主要功能以及概念介绍_第6张图片

传递性依赖
Maven主要功能以及概念介绍_第7张图片

排除传递性依赖(exclusion标签声明)

Maven主要功能以及概念介绍_第8张图片

子项目在继承父项目时,用parent声明
Maven主要功能以及概念介绍_第9张图片

3.仓库
Maven主要功能以及概念介绍_第10张图片

Maven主要功能以及概念介绍_第11张图片

Maven主要功能以及概念介绍_第12张图片
先找本地仓库,再找远程仓库

4.生命周期
5.插件

  • Maven环境配置
    官网地址:
    www.apache.org
    Maven主要功能以及概念介绍_第13张图片

点击下载下载(注意jdk版本)
这里写图片描述

配置环境变量(必须依赖jdk,所以要求环境变量中有对应的JAVA_HOME)
配置maven信息
新建环境变量

变量名:maven_home
变量值 :对应安装路径
Maven主要功能以及概念介绍_第14张图片

然后配置Path

在之后添加 ;%maven_home%\bin;
注意原来如果有;则不需要重复添加;(所有的变量用逗号分隔)

Maven主要功能以及概念介绍_第15张图片

查看是否正常运行
cmd下 输入
mvn -v;
Maven主要功能以及概念介绍_第16张图片
(maven的jdk版本和环境变量中配置的JAVA_HOME一致)

java -version
(可能与环境变量中的jdk版本不同)

  • *maven生命周期

Maven主要功能以及概念介绍_第17张图片

最常用最上边两个
每一个阶段都有相应的命令(执行命令之前的命令都会被默认执行)
主要文件pom.xml

src 目录分为:
main:(主项目-开发用到)

test:(测试项目)
maven项目
Maven主要功能以及概念介绍_第18张图片
cmd进入maven项目的路径下

在maven安装目录下conf
配置文件settings.xml

本地仓库默认位置
这里写图片描述

这个路径往往需要修改
在apache的安装同级目录下新建一个文件夹

这里写图片描述

配置本地仓库路径

Maven主要功能以及概念介绍_第19张图片

在cmd的mavan项目路径下 执行

mvn clean :如果项目之前做过相应的编译,则把编译的文件清除掉
BUILD SUCCESS 成功clean

编译命令
mvn compile:大量下载远程资源jar包(需要的资源在pom.xml中定义)–资源下载有约束,也会报错,网络不通畅也会影响

编译后,mavenLocalDB文件中有了内容

Maven主要功能以及概念介绍_第20张图片

maven与eclipse等开发平台集成,可以方便的引用资源jar包

compile 完成之后 说明资源以下载,而且说明正确编译 而且在maven项目的文件夹中多了一个文件target

Maven主要功能以及概念介绍_第21张图片

target中主要存放class,即编译后的文件

Maven主要功能以及概念介绍_第22张图片

测试优先,大型项目 团队成员更新代码后,要做maven test,以保证更新的代码正确

主要执行maven项目src\test的内容,而maven compile编译的是maven项目\src\main中的内容

下载test需要的包(测试框架的包)
测试包出错 BUILD FAILED(注意错误内容)

spring 4测试框架 可能会报缺少插件
这里写图片描述
最低版本满足 jdk1.8 18

这里写图片描述

所以要更改jdk版本

不同版本的maven下载资源时可以重用(注意maven版本和jdk版本之间的关系)

mvn install :形成一个war包可供发布(打包的实质就是整合jar包外部资源和编译的class产生可运行的war包,可以tomcat或者weblogic上部署运行)
需要下载大宝的工具文件,第一个打包会比较慢,第二次打包会更快(因为打包资源已下载好)

打包后生成的war包在maven项目目录的target下边
此处为spring项目 ,war包拷贝到tomcat目录下边可直接运行

Maven主要功能以及概念介绍_第23张图片

Maven常用命令

mvn clean:清除以前编译的代码,删除target目录和相关内容删除

mvn compile : 编译项目主目录下边的代码(main下的代码)–下载main相关代码依赖的外部资源

mvn test :编译项目主目录下边的test代码(编译test之前一定编译main代码,保证main正常编译成功)–下载test依赖的外部资源 前提需要执行mvn compile(若不主动执行,命令会自动执行mvn compile)

mvn install: 把编译好的class文件和下载的jar都打成一个完整的*.war文件,直接使用war包可以进行部署

  • Maven与开发环境eclipse集成
    1.比较maven项目和普通eclipse中web项目的区别
    这里写图片描述

所谓的eclipse项目其实就是多了一些项目的管理文件
比如.classpath 、.project 、.settings文件夹等
而maven项目只有src 、pom.xml

Maven主要功能以及概念介绍_第24张图片

通过命令可以给maven项目生成eclipse配置信息

cmd下进入到maven项目的路径下

mvn eclipse:eclipse :运行此命令可以给maven项目生成eclispe需要的项目管理文件

运行后目录结构发生变化

Maven主要功能以及概念介绍_第25张图片

用eclipse打开构建后的项目

Maven主要功能以及概念介绍_第26张图片

开发结构其实无所谓

真正的项目运行是部署在tomcat服务器上的
部署结构和开发结构不同的 比如:
Maven主要功能以及概念介绍_第27张图片

maven项目在eclipse中的开发结构

Maven主要功能以及概念介绍_第28张图片

可能会报错

资源jar包引用可能会出现问题,是由于路径引用错误导致的,缺少jar包

Maven主要功能以及概念介绍_第29张图片

所以要修改默认c盘的路径

在eclipse中配置 查看maven版本
拷贝maven安装目录的配置文件 路径
这里写图片描述

设置eclipse中默认的jar引用路径信息
Maven主要功能以及概念介绍_第30张图片

修改后
Maven主要功能以及概念介绍_第31张图片

可能由于在eclipse中jdk版本不一样,maven也会报错

maven项目中的pom.xml中声明了jdk版本

Maven主要功能以及概念介绍_第32张图片

在eclipse中单独设置jdk 换成jdk1.7 指明已安装的jdk

此时maven项目在eclipse中不会报错
可以对maven项目在eclipse中进行修改

在cmd下进行编译、测试以及打包

pom.xml中也声明了服务器部署的环境版本等
Maven主要功能以及概念介绍_第33张图片

jetty:与tomcat同样功能的一个内置的serveltCotainer容器,实质也是Servlet容器

注意 :此文用的maven项目是springMVC的一个测试项目


你可能感兴趣的:(基础工具类)