SpringFramework下载地址:
https://repo.spring.io/libs-release-local/org/springframework/spring/5.3.7/
commons-logging-1.2下载地址:
http://commons.apache.org/proper/commons-logging/download_logging.cgi
AspectJ Weaver » 1.9.6
https://mvnrepository.com/artifact/org.aspectj/aspectjweaver/1.9.6
apache旗下 a patchy server -> 补丁服务
Dubbo
Log4j
rocketMq
Tomcat
Maven
Maven项目:
一.需要填写(坐标三要素)
groupId:代表jar所来源的渠道,对应文件夹的名字,例如:com.qianye / com.alibaba
artifactId:代表项目的唯一名字,例如:maven-qianye-demo.jar
version:代表版本号,例如1.0 2.0 …
-SNAPSHOT:快照版本,不稳定的
-RELEASE:发布版本,稳定的
二.创建项目后,提示是否自动引入包
三.maven项目由一个约定好的目录结构
设计思想:约定优于配置
src:代码总目录
分级为:main(核心代码和资源)和test(测试代码和资源)
其中main又包含java(存放代码)和resources(存放资源)文件夹
pom.xml:mvn的核心配置文件
它一定有项目被打包之后所对应的坐标三要素(创建项目时填写的)
四.maven的下载和配置:
官网地址:http://maven.apache.org/download.cgi
下载:apache-maven-3.8.1-bin.zip
1.解压缩 -> 存放在英文路径下 -> 进入到bin文件夹 ->
-> 复制路径到我的电脑属性->高级->配置环境变量->Path
2.验证 -> window+R -> cmd ->进入命令提示符 ->输入 mvn -v (查看版本号)
3.关联IDEA -> File ->Settings -> 搜索maven (settings.xml是maven软件自身的配置i文件)
-> 更改 maven home directory 为自己下载的位置(C:\Maven\apache-maven-3.8.1)
-> 设置好C:\Maven\apache-maven-3.8.1\conf\settings.xml以及本地仓库
4.设置conf/settings.xml:
a) 更改本地仓库的配置:在settings.xml文件的第56行加入:
<localRepository>C:\Users\${本地主机用户名}\.m2\repository</localRepository>
b) 通过镜像的方式,更好地从中央仓库下载jar包:
通常使用阿里云提供的镜像:
c) 在settings.xml文件的
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
5.IDEA设置User settings files:C:\Program Files\Maven\apache-maven-3.8.1\conf\settings.xml<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/8438002/1623111002975-4afa6d10-c5da-451a-8a67-a71fb17ecd47.png#clientId=u92975c35-3db4-4&from=paste&height=570&id=u9c5f3d5f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=570&originWidth=981&originalType=binary&ratio=1&size=54155&status=done&style=none&taskId=ubfe2760e-da15-4b40-9f9f-99c3c761ad5&width=981)<br />6.如果出现报错,查看IDEA的报错日志:Help->show log in explorer
五、maven的依赖引入
存放到
1) 查找依赖坐标,通过https://mvnrepository.com/网站找到
2) 以引入Guava为例(Google提供的使用最广泛的jar)
谷歌的Guava:https://mvnrepository.com/artifact/com.google.guava/guava/30.1.1-jre
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1.1-jre</version>
</dependency>
3) 依赖有 递进关系
当引入依赖时,默认引入它所依赖的其他jar。
项目A -> jar包B -> 相当于引入了jar包C
4) 剔除依赖的方式:使用
5) 依赖使用的范围:
构建包含的流程:
编译:compile
测试:test
运行:runtime
打包:package
安装:install
部署:deploy
在右侧 maven projects 标签栏中,打开项目名下面的Lifecycle
如果右侧没有,去View -> Tool windows中查找Maven
使用
compile缺省值 -> 伴随着项目的整个生命周期而存在。
provided已提供的,代表已经提供的依赖,不需要将此以来打包到项目最终的jar包里。
runtime运行时使用,比如:
test测试时使用
system自定义jar包位置(不推荐使用)
六、maven的生命周期
1) clean:项目清理
2) validate:校验项目的可用性
3) compile:编译
4) test:执行单元测试
5) package:打包
6) verify:校验测试结果
7) install:安装
8) site:网站站点文件的创建(很少用到)
9) depoly:部署
命令效果:
1) compile 编译
注意点:再次验证mvn -v 里面的java运行目录,是否是jdk所在目录
如果不是,说明环境变量缺少JAVA_HOME的配置
注意点2:编译时需要指定jdk的版本
maven提供对全局jdk的配置(settings文件中
正式编译mvn clean compile
编译结果出现在根目录下的target文件夹中
执行打包 mvn clean package
打包结果,出现了项目的jar包
执行安装 mvn clean install (打包文件存储到本地仓库中)
本地仓库中出现对应的文件夹和jar
执行部署 mvn clean deploy
首先要配置远程仓库的地址,然后将打包文件上传到远程仓库中
2) 跳过测试阶段
方式一: mvn package -DskipTests
虽然跳过单元测试的执行,但仍然会编译代码,不是很推荐使用
方式二: mvn package -Dmaven.test.skip=true
(最最常用的命令之一)既不会执行测试代码也不会编译。
3) 查看依赖树
方式一:pom.xml文件中右键 -> diagrams -> show dependencies
方式二:mvn dependency:tree
功能: 更好的解决jar包冲突问题