什么是maven?
1、Maven是apache下的开源项目,项目管理工具,管理java项目。
2、每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。
3、maven通过坐标对项目工程所依赖的jar包统一规范管理。
4、maven工程有自己标准的工程目录结构。
Maven的仓库?
1、中央仓库:就是远程仓库,仓库中jar由专业团队(maven团队)统一维护。中央仓库的地址:http://repo1.maven.org/maven2/
2、本地仓库:相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。
3、私服:在公司内部架设一台私服,其它公司架设一台仓库,对外公开。
本地仓库的配置?
2、我们将从apache官网(http://maven.apache.org/download.cgi)下载的maven压缩包解压到D盘根目录,D盘根目录会有下面的文件夹apache-maven-3.3.9
3、拷贝本地仓库:在D盘准备一个本地仓库的文件夹repository
4、配置本地仓库:打开maven的安装目录中conf/ settings.xml文件,在这里配置本地仓库的路径
<localRepository>D: epository</localRepository>
这里的意思是配置本地仓库的目录为D: epository
练习maven?
1、配置Maven的安装目录:进入eclipse ,选择菜单windows - Preferences , 在左侧的树状导航中选择maven-installations,点击add,弹窗后选择maven的安装目录,将maven的地址填写进去,然后点击apply,在勾选新增的apache-maven,然后再配置User Settings,选择Maven目录下conf下的settings.xml ,然后点击Update Settings 、Reindex 和Apply按钮。最后奥重建本地仓库的索引,选择菜单window—show view—maven—maven repositories—选择rebuild index就可以重新创建索引了
Maven入门?
选择菜单 File ->new -> Other—maven—maven project—next—定义工程坐标,maven对所有工程管理都是给予坐标管理的,坐标包括:
Group Id:项目的名称,项目名称以域名的倒序,比如:cn.itcast.mavendemo
Artifact Id:模块名称(子项目名称)
Version:模块的版本,snapshot(快照版,没有正式发行)、release(正式发行版本)
输入后,点击finish,就得到一个标准的maven目录结构
Maven的目录结构的说明:
project
/src/main/java 主体程序 java源文件(不要放配置文件)
/src/main/resources 主体程序所需要的配置文件(不要放java文件)
/src/test/java 单元测试程序 java源文件
/src/test/resources 单元测试程序所用的配置文件
/target 编译输出目录
pom.xml Maven进行工作的主要配置文件。
常用的maven命令:
Clean:清理工作
Complie;编译源代码
Test:单元测试运行测试代码
Package:将编译好的代码打包成为jar或者war或者ear 等等
Install:安装本地maven库,将工程的jar发布到本地仓库
要想执行maven的命令,必须要配置环境变量
MAVEN_HOME D:apache-maven-3.3.9
PATH %MAVEN_HOME%in
创建war工程:
选择maven project—packaging选择war;
手动添加web.xml,在src/main/webapp目录下手动创建WEB-INF目录,添加web.xml文件
聚合工程:
创建父工程maven project:注意打包模式选择pom
创建子工程,选择maven module,需要选择主工程也就是父工程
子工程继承父工程所有的jar包。在父工程pom文件中增加jar包依赖,所有的子工程全部继承父工程的所有jar包。
父工程下面存在多个子工程,子工程只能有一个父工程
如何构建多模块maven工程?
多模块构建规则:
1、Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。
它可以按业务模块拆分,也可以按层拆分
构建多模块maven工程,需要创建父工程与子工程:
创建父工程maven project选择打包类型pom,在父工程中的pom文件中增加jar依赖。
创建子工程模块maven module,打包选择jar
创建erp-web工程maven module,存放action类代码和前端代码,打包选择war包,在erp_web 工程中展开srcmainwebapp目录,建立WEB-INF文件夹,并将web.xml拷贝到文件夹中。
依次建立模块之间的关系。Dao依赖domain、service依赖dao、web依赖service。工程右键 Maven --> Add Dependency