maven仓库官网,https://mvnrepository.com/
1,Maven的概念:
是一个项目管理工具.它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),
和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
2,Maven 的两个经典作用:
Maven 的一个核心特性就是依赖管理。maven 工程中不直接将jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需jar 包的坐标,这样就很好的避免了jar 直接引入进来,在需要用到jar 包的时候,只要查找pom.xml 文件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些jar 包,再把这些jar 包拿去运行。
Maven 的另一个核心特性就是项目的一键构建。指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理。
3,Maven仓库的分类:
本地仓库 :
用来存储从远程仓库或中央仓库下载的插件和jar 包,项目使用一些插件或jar 包, 优先从本地仓库查找。默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows 用户目录。
远程仓库:
如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。
中央仓库 :
在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构件。
4,Maven常用命令
4.1 clean
mvn clean 是maven 工程的清理命令,执行 clean 会删除target 目录及内容。
4.2 compile
mvn compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。
4.3 test
mvn test 是maven 工程的测试命令,会执行src/test/java 下的单元测试类。
4.4 package
mvn package 是maven 工程的打包命令,对于java 工程执行package 打成jar 包,对于web 工程打成war包。
4.5 install
install 是maven 工程的安装命令,执行install 将maven 打成jar 包或 war 包发布到本地仓库。
注意: 当后面的命令执行时,前面的操作过程也都会自动执行
5,Maven 指令的生命周期
maven 对项目构建过程分为三套相互独立的生命周期,这三套生命周期“相互独立”,分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。
6,坐标定义
在pom.xml 中定义坐标,内容包括:groupId、artifactId、version,详细内容如下:
<!--项目名称,定义为组织名+项目名,类似包名-->
<groupId>cn.maven</groupId>
<!-- 模块名称 -->
<artifactId>maven-first</artifactId>
<!-- 当前项目版本号,snapshot 为快照版本即非正式版本,release 为正式发布版本 -->
<version>0.0.1-SNAPSHOT</version>
<packaging > :打包类型
jar:执行package 会打成jar 包
war:执行package 会打成war 包
pom :用于maven 工程的继承,通常父工程设置为pom