目录
什么是maven?
maven是 apache (开源组织),提供的一个项目构建工具(project build tool) 。
什么是构建(build):依赖处理(dependencies)、编译(compile)、打包(package)
什么是依赖:我们之前写的代码,基本用到的类来自{我们自己写的类、JDK原生提供的类},随着代码变得复杂、庞大;需要用到来自第三方提供的类(比如:写JDBC时,使用的类)。第三方的类:某个组织,提供了一组类文件。
Java提供了一种打包方式将类以及相关文件打包,打包格式——JAR包(Java ARchive) ,即是zip包(放着各种各样的类文件)。
如:myql-connector-java.jar
依赖管理
随着一个工程中使用的jar包越来越多,jar包的管理也变得越来越复杂。需要使用依赖(dependency)管理。
jar包是某个组织,提供的某个功能,有一定的版本。组成:
group(组织)、artifact (成品)、version(版本)
groupld + artifactld + version,一定可以唯一确定一个具体的jar包。
jar包下载的过程也完全交给maven进行处理。
maven和IDEA的关系
maven和IDEA本身是独立的两个软件。
IDEA是一个强大的java开发环境,支持了maven这个java生态下出名的构建工具。
maven的使用
创建maven工程
我们要创建maven 工程时,也进入了maven体系,所以我们自己的工程也得有自己的groupld、artfactld和version信息。
一般来说
groupld的命名方式:com.xxx / cn.xxx
artifactld的命名方式:不能有中文。如:xxx-xxx、demo、first-demoversion:使用默认的
maven 工程下的项目目录结构
pom.xml
Project Object Model工程对象模型
使用XML (eXtension Markup Language:扩展标记语言)格式进行管理,通过标签(tag)组成的一棵树形结构。
properties
指定依赖
怎么确认依赖导入成功了?
1. pom.xml没有报错
2. maven工作区的dependencies没有报错
3. external libraries中看到了添加的依赖(对应的jar包)注意:任何对pom.xml的修改,都得重新加载maven工程
解决99%问题的方法
小结
maven是一个独立的项目构建工具
1.创建maven工程;
2.修改pom.xml(不用每次都手写,把之前写好的pom.xml复制过来做简单的改动即可,自己手写很容易拼写错误),任何时候修改完pom.xml,都需要重新load maven工程;3.修改完成之后,需要下载一些依赖,就让下面的进度条走一段时间,等进度条完成再继续下一步动作;
4.检查maven的依赖是否处理成功;
1)pom.xml不报错
2)maven 功能区(一般在IDEA右侧)的依赖管理(Dependencies)没报错3)最主要的,工程视角下的external libraries有对应的jar包出现
5.如果进度条走完有问题
1)maven功能区,lifecycle选择clean、compile、package(按住ctrl选择),点击三角形进行maven命令行的独立构建;
2)观察命令行最终有没有出现BUILD SUCCESS。(如果没有出现,带着错误求助/查找);3)使用File -> Invalidate Cache And Restart重启IDEA;
4)如果还是不行,找到本地 maven仓库(C\Users\<你电脑的用户名>\m2\repository)根据依赖的 groupld、artifactld、version找到对应的文件夹,删除,再重试。
加速操作