Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。通俗的说就是帮我们构建项目和管理依赖、插件的工具。
官网下载地址如下
http://maven.apache.org/download.cgi ,
点这里下载(如果版本更新,在这里可以找到旧的版本 https://archive.apache.org/dist/maven/maven-3/ )
Apache Maven 3.5.2 jdk8 eclipse Mars4.5
目录 | 说明 |
---|---|
bin | 包含一些maven的运行脚本 |
boot | 包含一些类加载器的框架 |
conf | 配置文件 |
Lib | maven运行时需要的类库 |
mvn compile 编译项目 将.java文件编译成.class文件,放在项目的target目录
mvn test 执行测试,生成的测试报告也会放在target目录
mvn package 打包 web项目-- >war包 java项目—>jar包
mvn clean 删除target目录,这个文件夹中存放的是编译后的类、测试报告、打好的jar包等等
mvn install 安装jar包到本地仓库中
maven的生命周期:
清理(clean) – > 编译(compile) – > 测试(test) – > 打包(package) – > 安装(install) – > 部署(deploy)
构件:依赖和插件等在maven中就称为构件。每个构件都有它的唯一标志,也就是坐标。
坐标的基本组成:groupId, artifactId, version gav
仓库就是管理依赖和插件的。分为:本地仓库和远程仓库(中央仓库)
中央仓库的地址:https://repo.maven.apache.org/maven2(http://mvnrepository.com/),这里存放了java开发的所有开源的jar包
镜像仓库:因为maven的中央仓库的服务器是在国外的,所以有时候下载jar包会慢甚至无法访问,所以需要一个仓库来提供跟maven中央仓库一样的jar包,这个仓库就是镜像仓库。
(1)打开:D:\tools\apache-maven-3.5.2\conf\settings.xml文件
(2)找到如下配置:
aliyun
*
aliyun Maven
http://maven.aliyun.com/nexus/content/groups/public/
central
-->
(4)保存
Maven从镜像仓库中会下载依赖到本地仓库。
本地仓库的配置:
(1)打开文件:D:\tools\apache-maven-3.5.2\conf\settings.xml
(2)找到如下配置:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
本地仓库的路径,如果不配置
<localRepository>/path/to/local/repo</localRepository>
-->
(3)修改为如下(自己创建一个仓库的文件夹),并保存:这样就把镜像仓库中的文件下载到本地仓库了,以后用的时候,maven就会先在本地找,如果没有的话就去镜像仓库下载。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
本地仓库的路径,如果不配置
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>E:\Repository</localRepository>
(4)然后复制一份该settings.xml文件到D:/tools/mavenRepo中,这样升级maven版本的时候就不需要在配置了。
如果使用的eclipse是4.0以上的版本或者是Myeclipse的话,不需要安装maven插件,开发工具自带了。可以直接进入6.4。
(1)下载eclipse的maven插件:eclipse-maven3-plugin.zip
(2)将其解压,把解压后的文件放在eclipse安装目录下 新建的dropins文件夹中
(3)将eclipse安装目录中的eclipse.ini文件中加入如下配置:
(4)重启eclipse,即可按照6.2的方法 查看到maven
鼠标右击:
鼠标右击:
打开pom.xml文件,添加如下配置:
在webapp目录下创建WEB-INF文件夹,在WEB-INF文件夹下创建web.xml文件,然后就发现不报错了!
有两种方式:
1.将项目部署在Tomcat上运行(类似javaWeb项目)
2.在pom.xml文件中添加Tomcat插件,使用maven的命令来运行
下面是第二种方式的运行配置
在pom.xml中添加如下配置:
然后运行maven命令:clean package
这样就将项目打包并且部署在Tomcat中了,然后就可以正常访问项目了。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
看上面的xml片段,会发现一个新东西scope
这个标签的意思就是当前插件依赖的范围
在开发中我们把第三方jar放入到classpath中,就能够调用第三方的类和方法。
maven有3中classpath分别是
上面的xml片段中scope的值为test,也就是说这个构建只存在于测试环境中。
所以scope的值就是控制与三种classpath的关系。
scope的值有:
maven的打包方式有三种:
1.jar:将项目打成jar包
2.war:将项目打成war包
3.pom:表示这个项目是聚合工程