- 1.1 maven安装
- 1.2 maven环境变量配置
- 1.3 Maven的本地仓库的配置
- 1.4 在Idea中配置Maven
- 1.5 依赖管理
- (1)基本概念
- (2)依赖的范围
- (3)依赖的原则:解决jar包冲突
- (4)依赖的排除
- (5)统一管理目标Jar包的版本
- 1.6 maven继承
- 1.7 maven聚合
- 1.8 idea创建maven工程
新建环境变量:MAVEN_HOME 赋值:D:Program FilesApachemaven
检验是否配置成功
mvn -version1.3 Maven的本地仓库的配置
(1)Maven默认的本地仓库:~.m2repository目录。 说明:~表示当前用户的家目录 (2)Maven的核心配置文件位置: 解压目录D:apache-maven-3.2.2confsettings.xml (3)本地仓库地址更改到D:LocalRepository,默认在C:UsersAdministrator.m2repository1.4 在Idea中配置MavenD:LocalRepository (4)配置阿里云镜像(下载速度快)nexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public
1)设置Maven的安装目录及本地仓库
(2)配置Maven自动导入依赖的jar包
当A jar包需要用到B jar包中的类时,我们就说A对B有依赖。 例如:HelloFriend-1.0-SNAPSHOT.jar依赖于Hello-1.0-SNAPSHOT.jar。 如果A依赖B,B依赖C,那么A→B和B→C都是直接依赖, 而A→C是间接依赖。(2)依赖的范围
1)compile(默认就是这个范围) (1)main目录下的Java代码可以访问这个范围的依赖 (2)test目录下的Java代码可以访问这个范围的依赖 (3)部署到Tomcat服务器上运行时要放在WEB-INF的lib目录下 例如:对Hello的依赖。主程序、测试程序和服务器运行时都需要用到。 2)test (1)main目录下的Java代码不能访问这个范围的依赖 (2)test目录下的Java代码可以访问这个范围的依赖 (3)部署到Tomcat服务器上运行时不会放在WEB-INF的lib目录下 例如:对junit的依赖。仅仅是测试程序部分需要。 3)provided (1)main目录下的Java代码可以访问这个范围的依赖 (2)test目录下的Java代码可以访问这个范围的依赖 (3)部署到Tomcat服务器上运行时不会放在WEB-INF的lib目录下 例如:servlet-api在服务器上运行时,Servlet容器会提供相关API,所以部署的时候不需要。 4)其他:runtime、import、system等。(3)依赖的原则:解决jar包冲突
1)路径最短者优先 2)路径相同时先声明者优先 这里“声明”的先后顺序指的是dependency标签配置的先后顺序。(4)依赖的排除
(5)统一管理目标Jar包的版本com.atguigu.maven OurFriends1.0-SNAPSHOT commons-logging commons-logging
1.6 maven继承4.0.0.RELEASE org.springframework spring-context${spring.version}
如果项目需要将各个模块的junit版本统一为4.9, 那么到各个工程中手动修改无疑是非常不可取的。 使用继承机制就可以将这样的依赖信息统一提取到父工程模块中进行统一管理。
(1)创建父工程
父工程的打包方式为pomcom.atguigu.maven Parentpom 1.0-SNAPSHOT 父工程只需要保留pom.xml文件即可
(2)在子工程中引用父工程
此时如果子工程的groupId和version如果和父工程重复则可以删除。 com.atguigu.maven Parent1.0-SNAPSHOT ../Parent/pom.xml
(3)在父工程中管理依赖
将Parent项目中的dependencies标签,用dependencyManagement标签括起来1.7 maven聚合在子项目中重新指定需要的依赖,删除范围和版本号 junit junit4.0 test junit junit
将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效。
修改源码后也需要逐个手动进行clean操作。
而使用了聚合之后就可以批量进行Maven工程的安装、清理工作。
(2)如何配置聚合?
在总的聚合工程中使用modules/module标签组合,指定模块工程的相对路径即可
1.8 idea创建maven工程../MakeFriend ../OurFriends ../HelloFriend ../Hello
(1)点击File,选择New,再点击Project
(2)具体看图,别选错webapp了
(3)接下来输入各类名称,填完后直接next下一步,名称具体含义如下图
(4)配置maven信息,具体操作如下图
(5)添加配置 DarchetypeCatalog=internal,
添加原因:每次创建maven项目时, IDEA 要使用插件进行创建,这些插件当你创建新的项目时,它每次都会去中央仓库下载,这样使得创建比较慢。所以在创建maven项目时,应该让它找本地仓库中的插件进行项目的创建。
DarchetypeCatalog=internal
(6)完善maven-web项目模板
1.第一次加载maven项目比较慢,等待右下角的进度条加载结束,下面是刚建好的maven-web项目模板
2.上面的项目不完整,不能满足我们的开发需要,所以需要我们手动建设一些文件夹,需要兴建的文件夹我用红色标出,以下是maven项目的标准目录:
src/main/java src/main/resources src/test/java src/test/resources 下面来构建目录,在main上右击New->Directory 新建java文件夹和resources文件夹 在src目录上右击New->Directory 新建test文件夹 在test目录上右击New->Directory 新建java和resources文件夹
下面只演示一个,其余类似
3.接下来就是把新建立的文件夹进行关联了,关联错了就得重新关联,这一定不能出错,关联方法如下图。
src/main/java 关联为 Sources Root
src/main/resources 关联为Resources Root
src/test/java 关联为Test Sources Root
src/test/resources 关联为 Test Resources Root
4.也可以右键项目,然后选择Open Module Settings打开项目配置页面更改,关联方法如下图。
5.以下是关联之后的maven-web项目的目录,配置完成



