Maven3.5.4基本使用
文章目录
1. Maven入门
1.1 Maven 简介
百度百科;
Maven 官网:http://maven.apache.org/
1.2 Maven 安装与配置
Maven下载:http://maven.apache.org/download.cgi
首先要确定 jdk 已经安装和配置 把apache-maven-3.5.4-bin.zip解压到放到 D 盘
配置 maven 环境变量:M2_HOME D:\maven\apache-maven-3.3.3还需要配置path环境变量(商榷)
1.3 Maven命令
Mvn compile 编译
Mvn clean 清空
Mvn test 测试
Mvn package 打包
Mvn install 把项目安装到本地仓库
1.4 Maven 本地仓库迁出 C 盘
配置 setting 文件
D:\maven\repository
配置完重新编译一遍即可迁出
2. 在 MyEclipse2014 中使用 Maven
2.1 配置位置
2.2 配置本地仓库
2.3 新建maven项目
2.3.1 首先
2.3.2 其次
2.3.3 常用
这里的项目是HelloWorld,选择pom.xml 右键 run as 选择2Maven build
输入package 回车
刷新项目可看到
发布到本地仓库中,选择pom.xml 右键 run as 选择2Maven install
就可以在本地仓库中看到
3. Maven核心技术
3.1 Maven仓库概念
Maven 远程仓库配置文件:
$M2_HOME/lib/maven-model-builder-3.3.3.jar解压开
目录:org\apache\maven\model\pom-4.0.0.xml
在pom-4.0.0.xml文件中配置了远程仓库地址
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
3.2 Maven依赖特性
3.2.1 新建一个maven项目
然后
3.2.2 找mybatis的包
网址 http://mvnrepository.com,搜索mybatis
找到某个版本
拷贝这段
到项目的pom.xml中
配置完成后保存就会自动下载mybatis需要的jar包了
3.2.3 找mysql的驱动包以及log4j的包,并设计表
找mysql以及log4j包,与找mybatis的包类似
3.2.4 建文件夹放mybatis以及log4j的配置文件
New 一个source folder
输入 src/main/resources
至此dao已建完,目录总揽
3.2.5 新建一个user-service 的maven项目
在pom.xml中配置spring所需的包
还需要配置mybatis的spring支持
这里有引用到user-dao项目中User这个类
需先将user-dao项目发布到本地仓库(上文有讲解)
然后写配置文件,将user-dao中的
引用到user-service中
保存完,刷新项目可以看到将user-dao引用进来了
3.2.6 依赖特性
user-service 依赖spring-core;而spring-core又依赖于commons-logging;实际上在pom.xml文件中写依赖配置时候 只写了spring-core并没有写commons-logging
由于spring-core要依赖于commons-logging,因此commons-logging的包也会被下载到本地仓库。
所以,user-service与commons-logging就是传递性依赖的关系
3.2.7 依赖选择
依赖选择:(最短路径原则和最先申明原则)
最短路径原则(一)A-> B -> C ->X ( P1 ) A -> D -> X ( P2 )
最先申明原则(二)A -> B ->X ( P3 ) A -> C ->X ( P4 )
4. Maven构建web项目
4.1 新建web项目
右键项目 properties
完成可看到
新建一个source folder
基本目录
4.2 替换自带的jsp文件和web.xml文件
由于自带的jsp文件和web.xml文件格式不好,替换自带的jsp文件和web.xml文件
配置pom.xml文件,添加各种包的支持,同理这里要引用web-service项目
需要这么配置
引用完成刷新项目可以看到
之所以有user-dao出现是因为这里引用user-service而user-service又引用了user-dao
还需要配置相关文件
5. Maven聚合与继承特性
5.1 聚合
pom.xml文件中将user-dao 和user-service 聚合到一起
那么 只要争对这个user-aggregator的pox.xml右键run as maven clean操作就会同时作用于user-dao 以及user-service;可以看到它两的target已经清空了
这就方便了对项目的统一管理。
5.2 继承
user-parent中的pom.xml文件:
在user-dao中继承user-parent
Tomcat中运行web项目即运行user-web时候,记得将所依赖的项目先发布到本地仓库,否则出错
依赖的包也是可以继承的,比如mybaits的依赖,在user-parent的pom.xml中配置上
由于user-dao继承user-parent,所以在user-dao可以去掉版本号3.3.0
还可以在user-parent中对版本进行统一管理,比如管理mybatis的版本
总结,聚合和继承是可以放在一起的!
6. Maven的生命周期
6.1 classpath的种类
classpath 分为三种:编译 classpath , 测试 classpath , 运行 classpath
6.2 dependency 中的scope的种类
scope 选项如下:
compile:编译依赖范围。默认就是compile。在编译,测试,运行都有效;
test:测试依赖范围。仅测试有效; 例如 JUnit;
provided:已提供依赖范围。编译,测试有效,运行时候无效。例如 servlet-api。 system:系统依赖范围。(了解即可)使用 system 范围的依赖必须通过 sytemPath 指定依赖文件的路径。
import:导入依赖范围。(了解即可)使用 dependencyManagement 时候,可以导入依赖配置。
6.3 Maven的生命周期
6.3.1 Maven 生命周期简介
Maven 通过插件的方式完成一系列过程来实现功能。
Maven 拥有三套独立的生命周期:
Clean 清理项目
Default 构建项目
Site 建立项目站点(了解即可)
6.3.2 Clean 生命周期
pre-clean 执行一些清理前需要完成的工作;
clean 清理上一次构建生成的文件;
post-clean 执行一些清理后需要完成的工作;
6.3.3 Default 生命周期
1,validate; 2,initialize;3,generate-sources;4,process-sources;
5,generate-resources;6,process-resources; 7,compile; 8,process-classes;
9,generate-test-sources;10,process-test-sources; 11,generate-test-resources;
12,test-compile; 13,process-test-classes; 14,test;15,prepare-package; 16,package;
17,pre-integration-test; 18,integration-test; 19,post-integration-test;
20,integration-test; 21,post-integration-test; 22,verifty; 23,install; 24,deploy;
6.3.4 Site 生命周期
1,Pre-site; 2,site; 3,post-site; 4,site-deploy;