一,maven快速入门
1.环境搭建
进入maven管网,下载想用的maven版本,这里以maven 3.3.3 zip版本:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020061410244617.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0ODUwNDg5,size_16,color_FFFFFF,t_70)
1.2.配置环境变量:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200614102630341.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0ODUwNDg5,size_16,color_FFFFFF,t_70)
系统变量中新建:变量名:M2_HOME 变量值:指向刚刚下载文件的安装目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020061410285626.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0ODUwNDg5,size_16,color_FFFFFF,t_70)
修改系统变量中的path: 在最后加入 " ;M2_HOME"双引号中的值
验证是否成功:打开命令提示符 输入 mvn -v 出现版本信息就是安装完成
2. 新建maven项目
建立maven约定好的文件目录
2.1编写pom.xml文件
打开maven下载的文件夹下的lib中, 找到core jar包(缩写了知道指的那个就好)解压出来,把里面的xml文件拿出来
删除中间部分,结构就有了,将文件pom.xml放到项目的根目录下,和src同级
2.2 在文件中书写:
<groupId></groupId> //这个的值就是项目的包名
<artifactId></artifactId> //这个的值是模块名
<version></version> //这个是版本
2.3 因为引用了Junit工具:这个是代码的测试工具,测试代码是否出错,如果没有使用,可以不进行配制,
当然也可以通过百度进行学习了解
以上步骤执行完成之后可以在src下创建简单的java文件测试
2.4 打开命令行 cd到项目的根目录下 然后输入: mvn compile 。这是对项目进行编译
这是成功截图,第一次运行需要下载一些依赖可能比较慢。
2.5测试是否ok
在项目根目录下输入 mvn test
如下图运行后的截图
2. 6打包项目的方法,cd到文件根目录中 输入: mvn package
在生成的target文件夹里生成了项目的jar包
二,maven核心知识
1. 常用的构建命令
install 构建包的过程 compile编译源代码,用到依赖包就去xml中查找,找到后去本地仓库中查找,放到项目中,如果没有就去maven的中央仓库中查找下载到本地仓库,然后引用。
1. 2 自动建立目录骨架
有两种方法:
archetype插件
第一种 cd 到项目目录输入: mvn archetype:generate (第一次加载依赖会慢一点)
下面是选择版本号
然后输入项目名,模块名,版本号,输入包 :项目名+service
最后输入y 确定
之后打开文件夹,就会为你创建好,pom.xml文件也会创建好。
第二种相对于第一种就是一次性输入所有属性 最后也要输入y 确定
1. 3 坐标和仓库
坐标:在maven中每一个插件都可以成为构件 ,每个构件的位置就是坐标(地址)
下面这个被称为基本坐标
仓库
本地仓库和远程仓库
maven的lib目录下的 maven-model-builder jar包里面的pom-4.0.xml 是超级xml,里面有个url就是maven的中央仓库地址
镜像仓库:中央仓库都是位于国外的,有时访问会出现问题。而镜像仓库就是位于国内的中央仓库
如何修改中默认仓库的地址
maven的conf目录下的setting.xml。在大概146行有一个示例
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200614172849596.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0ODUwNDg5,size_16,color_FFFFFF,t_70)
如下
id为仓库的id![在这里插入图片描述](https://img-blog.csdnimg.cn/20200614172954703.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0ODUwNDg5,size_16,color_FFFFFF,t_70)
如果配上*号,原仓库的所有访问都会转化到这个仓库
更改仓库的位置,默认是在c盘 但是不太友好
所以我们改动一下
maven的conf目录下的setting.xml。在大概46行找到localRepository复制出来,
中间地址改为要存放的路径
改动完成之后,复制一份settings.xml放到更改后的仓库目录中,这样以后更新maven的版本就不需要修改settings了
1. 4 eclipse中安装maven插件以及创建maven项目
4.0以上就不需要在安装maven的插件了,已经默认安装
可以再eclipse的 window preferences中查看是否有maven
如果在4.0一下的版本就不在演示如何安装了,建议安装到4.0以上
修改maven是本地下载的maven,还是在window的 preferences中
点击创建后报错:
你可能也和小编一样在创建maven项目的时候遇到一些问题,下面小编将我的问题以及解决方案附上:
问题: eclipse创建maven项目是报错Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:1.1 from any of the configured repositories. while using in STS
解决方案:
参照我的另一个博文:
链接: https://blog.csdn.net/qq_44850489/article/details/106782264.
运行项目
点击pom.xml 右击运行
然后在这里输入命令
1. 5 maven的生命周期和插件
基本顺序: 清理 编译 测试 打包 集成测试 验证 部署
在运行后面的命令是,默认会调用前面的命令运行一遍
分为三段
第一段
第二段
第三段:
maven的命令都是调用了插件,在maven的官网上提供了很多插件
官网链接: https://maven.apache.org/plugins/index.html.
里面一些我们已经使用过了,我们演示一下使用source插件
在pom.xml中加入
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork </goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后运行clean package命令,通过控制台我们发现
分贝执行了 编译 测试test 以及对项目的打包
1. 6 maven的pom.xml插件
1. 7 依赖范围
pom.xml依赖的范围
1. 8 依赖传递
1. 9 依赖冲突
1. 10 聚合和继承
然后运行,就可以将三个项目安装到本地仓库中
继承:
然后也需要将父类的packaging改为pom
然后在子类中
三,maven如何构建web项目
使用maven构建web项目
搜索web
命名 创建成功
放到tomcat中
可以访问localhost:8080/maven03webdemo (后面是项目名)