我相信,如果能认真的看完这些内容的话,对于Maven的使用肯定是没问题的,所以认真看看呗。另外的话,关于后面介绍的项目搭建,采用的环境是Eclipse,所以如果你采用的IDE是用的IDEA的话,那么就没有这么麻烦,这个的话根据自身的不同来进行即可。那么,进入正题:
一:什么是Maven
是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的。
二:Maven的好处
1:依赖管理:就是对jar包的同意管理,可以节省空间
2:一键构建
3:可以跨平台
4:应用于大型项目,可以提高开发效率
三:Maven的下载与安装
从网站下载Maven管理软件,下载maven3.3.9版本就好了
备注:要把这个放在一个没有中文的目录下。。。。。切记,要不然容易出一些问题
四:Maven的环境变量的配置
作用:能够在电脑中的任何目录下都运行Maven的命令
步骤:
1、 要配置jdk, maven3.3.9这个版本所需的jdk版本必须要1.7以上
2、 最终要运行的是maven软件中bin目录的mvn命令
所以要配置maven的环境变量
在系统变量添加
环境变量的名称:MAVEN_HOME
变量值:就是maven软件解压的目录,比如我自己的就是F:\class32\apache-maven-3.3.9
3、把MAVEN_HOME添加到path里
4、验证maven是否配置成功:
打开dos窗口 输入: mvn –v
备注:有时候,有些人在path通过%%的形式加入MAVEN_HOME路径后,还是无法执行mvn -v ,这时候,可以考虑直接把配置的MAVEN_HOME路径写全路径加入path中去。因为有时候是会出现这样的原因。(就是相当于少了一步新建MAVEN_HOME这个步骤)
五:Maven仓库类型
1:本地仓库:自己维护
本地仓库的配置只需要修改settings.xml文件就可以
2:远程仓库:一般是由自己的公司维护
3:中央仓库:由apache的maven团队维护的,大概有2个亿的jar包了已经
三个仓库的关系如下所示:
六:Maven项目目录结构
、
七:Maven的一些命令
(1)Clean 清理编译的文件
(2)Compile 编译了主目录的文件
(3)Test 编译并运行了test目录的代码
(4)Package 打包
(5)Install 就是把项目发布到本地仓库
(6)Tomcat:run 一键启动
(7)-v 查看maven版本
八:Maven的生命周期(了解)
三个周期(主要了解下面的这几个,其实还包含有其他的)
命令:Compile test package install deploy(发布到私服)
它们的三种生命周期:
(1)Clean生命周期:Clean
(2)Default生命周期:Compile test package install deploy
(3)Site生命周期:Site
命令和生命周期的阶段关系:不同的生命周期的命令可以同时执行
Mvn clean package
九:Maven项目的构建
(1):M2E(Maven用于J2EE的开发就叫做M2E)的插件安装
Maven在eclipse的配置(其他软件类似,比如IDEA)
1、选择3.3.9版本的maven软件
2、修改默认的本地仓库地址
(2):项目构建
1、 新建maven项目
2、跳过骨架,如果不跳过骨架选择创建出的项目目录是不全的,所以跳过,进行点击选择按钮
3、 填写坐标
4、创建工程
5,处理红色叉号
6:处理编译版本
8:修改web.xml,删除重复的代码
9::添加jar包,在pom中添加如下代码:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
10::会发现jar包已添加到项目中
11::启动项目,右击项目---run as –maven build ….
好啦,上面的步骤就完成了Maven项目的创建哦。。。。是不是比较容易呢?
十:创建私服
私服:简单点说,就是在服务器中有一个管理仓库,这样的话,可以根据项目的不同来获取到不同的需要的包进行开发的需要。就相当于一个开发团队中,有不同的人开发不同的模块,比如你自己是开发service模块,然后别人是开发Dao模块,然后你service模块肯定是需要Dao模块开发中的包的,这样的话,就可以当Dao模块开发的人员开发完成后,就可以把当前的Dao模块打包发到一个公司服务器上,然后service模块的人,当需要的时候就从公司服务器上下载下来,这样就实现了,不同模块的分块开发。。这也是Maven这个工具的一个非常有用的地方。。。
(1)下载一个nexus服务工具(这个网上有,如果没有的话,留言,我来提供一下也行)
第一个看后缀就知道是在Linux环境的(一般公司是在Linux上搭建的服务器)
第二个就是Windows环境的(这个一般是单独个人进行开发所使用的)
(2)下载好之后,解压
(3)进入到解压之后的Bat的目录下,执行安装命令
(4)启动服务
(5)开启服务成功的结果
(6)如果开启失败的话,就需要修改一下配置
找到刚刚解压的这个nexus的这个文件的地方。。
根据画圈圈的地方,将那个内容修改成自己的jdk中bin中java.exe这个可执行文件的路径即可。。。出现错误的问题主要就是nexus无法找到本机的java.exe这个可执行文件的问题。
(7)成功开启后,就可以从访问网址进入到私服........http://localhost:8081/nexus
其中的登录账号和密码默认是::
账号:admin
密码:admin123
(8)网站主页
针对上图中,存在着不同类型的仓库,具体的含义如下所示:
Virtual 虚拟仓库
Proxy 代理仓库
Hosted 宿主仓库 本地仓库
Group 组
(9)通过上面的几步就实现了私服的创建了。。。。是不是挺简单的呢,但是对于项目开发的jar包管理却是非常有用的。
十一:针对私服进行例子详解如何使用私服
比如:有一个需求,把dao放到私服上,然后service从私服上下载
Dao模块上传Dao层jar包
步骤:
第一步:需要在客户端即部署dao工程的电脑上配置maven环境,并修改settings.xml文件,配置连接私服的用户和密码 。此用户名和密码用于私服校验,因为私服需要知道上传都的账号和密码是否和私服中的账号和密码一致。
找到setting.xml文件,然后找到里面的标签,填入下面的代码的内容
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
第二步:配置Dao开发model中的pom.xml
配置私服仓库的地址,本公司的自己的jar包会上传到私服的宿主仓库,根据工程的版本号决定上传到哪个宿主仓库,如果版本为release则上传到私服的release仓库,如果版本为snapshot则上传到私服的snapshot仓库
<distributionManagement>
<repository>
<id>releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
注意:pom.xml这里<id>和settings.xml配置<id>对应!
第三步: 执行 deploy 命令发布到私服(执行maven命令,deplyoy即可)Service模块下载Dao模块上传到私服的jar包
步骤:
第一步:修改maven中的setting.xml文件标签中profiles,添加下面代码内容
<profile>
<!--profile的id-->
<id>dev</id>
<repositories>
<repository>
<!--仓库id,repositories可以配置多个仓库,保证id不重复-->
<id>nexus</id>
<!--仓库地址,即nexus仓库组的地址-->
<url>http://localhost:8081/nexus/content/groups/public/</url>
<!--是否下载releases构件-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载snapshots构件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
<pluginRepository>
<!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
<id>public</id>
<name>Public Repositories</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
第二步:修改maven中setting.xml中标签activeProfiles内容,填写下面内容:
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
第三步:
删除本地仓库中的对应的
dao(如果开始没有在本地生成过的话,就不需要删除了,直接进行下一步)
第四步:update service工程,出现以下信息说明已经成功。(是打开maven控制台看的,而不是直接在console控制面板)
十二:Maven配置阿里的依赖镜像
作用:方便进行依赖的下载,否则有时候连接互联网进行中央仓库下载的话会非常慢
步骤:(1)找到maven的setting.xml文件
(2)编辑添加如下的信息
Maven相对于之前的Ant来说,是一个革命性的的改进,对于项目的依赖和冗余性有非常好的管理,并且在现在的企业来说,项目一般都是maven结构的(就比如现在比较火的SpringBoot的微服务和比较常见的普通的WEB项目),所以对于Maven还是需要比较好的的了解的。关于Maven的知识点还没有完哦,我还会继续更新的。。欢迎大家关注关注,共同学习~!!!!!!!!!!!