Maven3.5.4基本使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38323645/article/details/82916964

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
就可以在本地仓库中看到

扫描二维码关注公众号,回复: 3552375 查看本文章

在这里插入图片描述

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;

猜你喜欢

转载自blog.csdn.net/weixin_38323645/article/details/82916964