Maven入门初级教程
Maven“专家内行”的意思,是Apache下的一个纯Java开发的开源项目,是一个项目管理工具(eclipse是一个项目开发工具),对Java项目进行构建、依赖管理。
项目构建
传统的项目构建过程
构建构成如下:
1、 在eclipse中创建一个Java web工程
2、 在工程中编写源代码及配置文件等
3、 对源码进行编译,Java文件编译成.class文件
4、 执行Junit单元测试
5、 将工程打成war包部署至Tomcat运行
maven的项目构建过程
清理阶段对应的maven命令是clean,清理输出的 class文件
编译阶段对应的maven命令是compile,将Java代码编译成class文件
打包阶段对应的maven命令是package,Java工程可以打成jar包,web包可以打成war包
运行一个maven工程(web工程)的命令是tomat:run
依赖管理
依赖管理就是对项目所有依赖的jar包进行规范化管理,maven项目所依赖的jar包不需要手动向工程添加jar包,只需要在pom.xml(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包、运行。可避免jar包版本的冲突,方便且不易出错,maven支持跨平台,可在window、linux上使用。
其实就是对jar 包的管理并给出坐标的过程。
Maven的下载安装
(或者输入网址http://amven.apache.org/download.cgi)
解压缩(将maven解压到一个不含有中文和空格的目录中)
配置maven环境变量(须先将JAVA_HOME配置好)
配置 MAVEN_HOME,变量值就是你的maven安装的路径(bin目录之前一级目录)
将 \bin 加入环境变量 path
配好变量之后通过mvn -v命令检查maven是否安装成功,看到maven的版本为3.6.0及jdk版本为1.8.0即为安装成功
maven仓库
Maven的工作需要从仓库下载一些jar包,maven的仓库有(本地仓库,私服,中央仓库)
本地仓库:本地存放jar包的目录。
私服:私人搭建的服务器。一般在企业内部局域网中使用。
中央仓库:maven内置了一个远程仓库的地址,它就是中央仓库
Maven在查找jar的时遵循什么样的顺序呢?
1) 优先查找本地
2) 本地找不到,则从私服上查找,找到后下载到本地仓库
3) 私服上找不到,则从中央仓库查找,找到后下载到私服,最后下载到本地仓库
中央仓库网址: http://repo1.maven.org/maven2/
本地仓库配置:打开maven安装路径下\conf\settings.xml文件,加入如<localRepository>节点
项目工程的标准目录结构
Maven命令
1.clean
clean是maven工程的清理命令,执行 clean会删除target目录及其目录下所有内容
2.Compile
compile是maven工程的编译命令,作用是将src/main/java下的java源文件编译为class文件并输出到target下的classes目录下。
cmd进入命令状态,执行mvn compile
查看 target目录classes下,class文件已生成,编译完成
3.test
test是maven工程的测试命令 mvn test,会执行src/test/java下的单元测试类。
cmd执行mvn test执行src/test/java下单元测试类
4.package
package是maven工程的打包命令, 对于java工程执行package打成jar包,对于web工程打成war包
工程目录下执行 mvn package
5.Install
install是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库
当后面的命令执行时,前面的操作过程也都会自动执行
三套生命周期
Clean Lifecycle: 在进行真正的构建之前进行一些清理工作。
Default Lifecycle: 构建的核心部分:编译、测试、打包、部署等等。
Site Lifecycle: 生成项目报告、站点、发布站点。
Maven对项目构建过程分为三套相互独立的生命周期,每一个阶段都有一个对应的命令,且有相应的插件来支持命令的运行。
注:属于同一个指令周期内的指令,当后面的命令执行时,前面的命令会自动执行。
使用eclipse配置maven
配置maven插件
Window->Preferences
Eclipae中配置仓库位置
构建索引
Windows->Show view->other
右击最下面的那个红色框标记的,然后点击Rebuild Index
成功可看到仓库能展开
如何使用eclipse开发maven项目
1.创建maven工程helloworld
生成web项目结构: WEB-INF目录和web.xml,如果eclipse没有Jave EE Tools,可以手式创建
创建HelloServlet
在src/java/main创建了一个HelloServlet,但报错
要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar
直接打开helloworld工程的pom.xml文件,再添加坐标
保存后查看pom.xml,如下:
修改HelloServlet的doGet方法,加入:
添加index.jsp页面
在web.xml中配置servlet
Eclipse下使用maven命令
Clean、compile、test、package、install
编译命令:compile 编译后.class文件在tar/get 下(这个命令只会对Java源程序编译,不会编译测试代码,编译测试类mvn test-compile,变异后.class文件在target\test-calsses)
测试命令 mvn test 执行所有测试用例方法,重新编译
清除命令 mvn clean 清除target目录(清除所有编译结果或者打包结果)清理后编译
打包命令 mvn package Java项目生成jar包,web项目生成war包,默认生成jar包名称:artifactId-version.jar
安装命令 mvn install 将工程打包后发布到本地仓库
Pom基本配置
Pom.xml是maven项目的核心配置文件,位于每个工程的根目录,基本配置如下:
<project>: 文件的根节点
<modelversion>: pom.xml使用的对象模型版本
<grounpId>: 项目名称,一般写项目的域名
<artifactId>: 模块名称,子项目名或模块名称
<version>: 产品的版本号
<packaging>: 打包类型,一般有jar、war、pom等
<name>: 项目的显示名,长哟用于maven生成的文档
<description>: 项目描述,常用于maven生成的文档
<dependencies>: 项目依赖构建配置,额皮质项目依赖构件的坐标
<build>: 项目构建配置,配置编译、运行插件等
---恢复内容结束---
---恢复内容结束---