学习尚硅谷老师讲的Maven工具,以及看了网友资料,随手整理了一部分。

1、Maven是什么?

Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。

传统工程我们直按把jar包放置在项目中, Maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标。不使用Maven工具,当做 Java 项目需要第三方依赖包时,将别人打好的 Jar 包下载到本地,然后手动指定给项目。另外,比如版本控制,需要新版本怎么办,重新下载,重新指定,这个过程操作麻烦。而用了 Maven 之后,需要什么包,直接在 pom.xml 中添加几行 xml 代码(添加所依赖jar包的坐标),指定包名、版本等,就可以了,方便开发。

2、仓库

(1)仓库的分类

本地仓库:当前电脑上部署的仓库,为当前电脑上所有的Maven工程服务。

远程仓库:

[1]私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务。

[2]中央仓库:架设在Internet上,为全世界的所有Maven工程服务。

[1]中央仓库的镜像:架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压&emsp&emsp力,同时更 快响应用户请求。

(2)仓库中保存的内容:Maven工程

[1] Maven自身所需要的插件。

[2] 第三方框架或工具的jar包(最早也是Maven工程的形式,只不过是打包成了jar包)。

[3] 我们自己开发的Maven工程(也可以放入本地仓库)。

注意:第一方是JDK,第二方是开发人员自己。

3、Maven中的重要配置文件:pom.xml

(1)含义:Project Object Model项目对象模型。

(2)pom.xml 对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置。重要程度相当于web.xml对于动态Web工程。

4、坐标

(1)数学中的坐标:

[1] 在平面中,使用X、Y两个向量可以唯一定位平面中的任何一个点

[2] 在空间中,使用X、Y、Z三个向量可以唯一定位空间中的任何一个点

(2)Maven的坐标:使用下面三个向量在仓库中唯一定位一个Maven工程(jar包)

[1] groupid:公司或组织域名倒序+项目名

<groupid>com.atguigu.maven</groupid>

[2] artifactid:模块名

<artifactid>Hello</artifactid>

[3] version:版本

<version>1.0.0</version>

5、Maven的常用命令

(1)执行与构建过程相关的Maven命令,必须进入pom.xml所在目录。与构建过程相关:编译、测试、打包、......

(2)常用命令:

[1] mvn clean:清理(会删除原来编译和测试的目录,即 target目录,但是已经 install到仓库里的包不会删除)

[2] mvn compile:编译主程序 (会在当前目录下生成一个 target里边存放编译主程序之后生成的字节码文件)

[3] mvn test-compile:编译测试程序(会在当前目录下生成一个 target,里边存放编译测试程序之后生成的字节码文件)

[4] mvn test:执行测试(会生成一个目录 surefire- reports,保存测试结果)

[5] mvn package:打包主程序(会编译、编译测试、测试、并且按照pom.xml配置把主程序打包生成jar包或者war包

[6] mvn install:安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)

[7] mvn deploy:部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。还会自动把项目部署到web容器中)

6、Maven依赖范围

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐