1.maven核心概念:
POM:一个文件名称是pom . xml ,pom翻译过来叫做项目对象模型。maven把一个项目当做一个模型使用。控制maven构建项目的过程,管理jar依赖。
约定的目录结构:maven项目的目录和文件的位置都是规定的
坐标:是一个唯一的字符串,用来表示资源的
依赖管理:管理项目可以使用的jar文件
仓库管理:资源的存放位置
生命周期:maven工具构建项目的过程
插件和目标:执行maven构建的时候用的工具就是插件
继承:
聚合:
2.maven约定的目录结构,约定是大家都理循的一个规则。
每一个maven项目在磁盘中都是一个文件夹(项目-Hello)
Hello/
---/src
------/main #放你主程序java代码和配置文件
----------java #你的程序包和包中的java文件
---------/resources #你的java程序中要使用的配置文件
------/test #放测试程序代码和文件的(可以没有)
-----------/java #测试程序包和包中的java文件
-----------/resources #测试java程序中要使用的配置文件
---/pom.xml #maven的核心文件(maven项目必须有)
3.仓库:
1)仓库是什么:仓库是存放东西的,存放maven使用的jar和我们项目使用的jar
>maven使用的插件(各种jar)
>我们项目使用的jar(第三方的工具)
2)仓库的分类
>本地仓库,就是你的个人计算机上的文件夹,存放各种jar
>远程仓库,在互联网上的,使用网络才能使用的仓库
①:中央仓库,最权威的,所有的开发人员都共享使用的一个集中的仓库
https :// repo.maven. apache.org :中央仓库的地址
: 中央仓库的镜像:就是中央仓库的备份,在各大洲,重要的城市都是镜像。
:私服,在公司内都,在局域网中使用的,不是对外使用的。
4.pom:项目对象模型,是一个pom . xml文件
坐标:唯一值,在互联网中唯一标识一个项目的
<groupId>公司域名的倒写</groupId>
<artifactId>自定义项目名称</artifactid>
<version>自定版本号</version>
5.maven 生命周期,maven 的命令,maven插件
maven的生命周期:就是maven构建项目的过程,编译清理,,报告,打包,安装,部署
maven的命令:maven独立使用,通过命令,完成maven的生命周期的执行。
maven可以使用命令,完成项目的清理,编译,测试等等
maven的插件: maven命令执行时,真正完成功能的是插件,插件就是一些jar文件
maven的命令:
mvn clean清理(予删除原来编译和测试的目录,即 target目录,但是已经install到仓库里的包不会删除)
mvn compile编译主程序(会在当前目录下生成一个target,里边存放编译主程序之后生成的字节码文件)
mvn test-compile编译测试程序(会在当前目录下生成一个target,里边存放编译测试程序之后生成的字节码文件)
mvn test测试(会生成一个目录surefire-reports,保存测试结果)
mvn package打包主程序(会编译、编译测试、测试、并且按照 pom.xml配置把主程序打包生成jar包或者war包)
mvn install安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)
mvn deploy 部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。还会自动把项目部署到web 容器中)。
maven在idea中的配置:
1.在idea中设置maven , 让idea和maven结合使用。
idea中内置了maven ,一般不使用内置的,因为用内置修改maven的设置不方便
使用自己安装的maven,需要覆盖idea中的默认的设置。让idea指定maven安装位置等信息
配置的入口①:配置当前工程的设置,file--settings ---Build,Excution,Deployment--Build Tools
--Maven
Maven Home directory : maven的安装目录
User settings File :就是maven安装目录conf/setting.xml配置文件
Local Repository :本机仓库的目录位置
--Build Tools--Maven--Runner
VM Options:archetypeCatalog=internal
JRE:项目的jdk
archetypeCatalog=internal , maven项目创建时,会联网下载模版文件,比较大,使用archetypecatalog-internal,不用下载,创建maven项目速度快。
:配置以后新建工程的设置,file--other settings--settings for New Project