首先简要说明maven的概念以及功能:
maven是一个基于Java平台的 自动化构建工具。自动化构建发展史:Make -> Ant -> Maven -> Gradle。Make Ant 已经完全被淘汰掉了。当前,Maven是主流,Maven和Gradle并存。
maven能做什么?
- 增加第三方Jar (spring-context.jar spring-aop.jar ....)
- jar包之间的依赖关系 (spring-context.jar 自动关联下载所有依赖的Jar,并且不会冲突)。平时我们不使用maven时往往去maven库里找项目需要的jar包,尤其是一个jar依赖于另一个jar时,令人不胜其烦。但是maven能帮我们自动下载所需要jar,只需要我们在pom.xml添加依赖即可。例如:commons-fileupload.jar -->(依赖) commons-io.jar。在maven项目中,如果要使用 一个当时存在的Jar或模块,则可以通过 依赖实现(去本地仓库、远程仓库去寻找)
- 编译: java->class
- 清理: 删除编译的结果,为重新编译做准备。
- 测试: 针对于 项目中的关键点进行测试,亦可用 项目中的测试代码 去测试开发代码
- 报告:将测试的结果,进行显示
- 打包: 将项目中包含的多个文件 压缩成一个文件,用于安装或部署。 (java项目-jar、web项目-war)
- 安装:将打成的包放到本地仓库供其他项目使用。
- 部署:将打成的包放到服务器上准备运行。在这里提一下部署项目:部署项目(在wtpwebapps中)没有源码文件src(java),只有编译后的class文件和jsp文件。
一.下载及配置
Maven 下载地址:http://maven.apache.org/download.cgi
配置:
- 因为maven是基于java的,所以JAVA_HOME配置是必须的
- 配置MAVEN_HOME :
- 配置path:E:\javaweb\maven\apache-maven-3.6.1\bin。写到bin目录的路径即可
- 验证是否配置正确:cmd输入mvn -v,出现版本信息即可。
- 本地仓库配置。本地仓库可以存储jar包和项目文件等,类似git的本地仓库.找到 maven目录/conf/settings.xml。
二.使用(约定优于配置)测试文件另附
首先必须了解maven的目录结构:
maven约定的目录结构:main写功能代码,test写测试代码.
项目
-src
--main 程序功能代码
--java java代码
--resources 资源代码、配置代码
--test 测试代码
--java
--resources
-pom.xml
了解目录结构后就可以开始使用maven了。这里先演示Dos界面操作。至于eclipse或sts有空在补上。
- 首先执行mvn:必须在pom.xml所在目录中执行
你可以手动切换到该目录也可以在上方路径中直接输入cmd启动控制台。
- maven的常见命令
- mvn compile --只编译main目录中的java文件
- mvn test 测试
- mvn package 打成jar/war
- mvn install 将开发的模块 放入本地仓库,供其他模块使用 (放入的位置 是通过gav决定)
- mvn clean 删除target目录(删除编译文件的目录)
第一次执行命令时也就是compile时,因为需要下载执行该命令的基础环境,所以会从远程仓库下载该环境到本地仓库)。为了加快下载速度这时只要设置一个镜像。修改maven里的settings.xml
文件的属性如下
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<id>nexus-public-snapshots</id>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
</mirror>
当compile完我们会发现本地仓库多了许多文件夹,这就是maven命令运行必须的配置。另外还会多处一个target文件夹:
里面存放编译后的文件以及测试文件和导出的jar war包,可以反复删除只需要重写编译即可。
下面是compile完后target目录:classes里面就是main下java代码。
接着我们执行mvn - test ,会出现如下结果
这就表示我们测试成功。这时我们再看target目录,发现多了几个文件夹。
下来我们执行mvn package,就会在target下生成jar包。
最好我们再执行mvn clean,会发现target已经被删除。
以上就是maven的Dos的基本使用方法。
另附测试文件:
百度盘链接:https://pan.baidu.com/s/16RfjfXQhVZcAjyBMx4kY4w
提取码:jlqp
Github:https://github.com/Galgaddott/mavenTest。