Maven的知识点汇总

项目构建的各环节

1.清理:将以前编译得到的class文件删除

2.编译:将java源程序编译为字节码文件

3.测试:自动调用junit来测试

4.报告:测试程序的结构

5.打包:将动态web程序打包成war包,java工程打包为jar包

6.安装:将打包得到的文件复制到仓库中

7.部署:将生成的war包复制到Servlet目录下,使其可以运行

Maven核心概念

1.约定的目录结构(重要)

2.pom(重要)

3.坐标(重要)

4.依赖(关键)

5.仓库

6.生命周期/插件/目标

7.继承

8.聚合


一、Maven目录结构

1.根目录:工程名

2.scr:放置源码

3.pom.xml文件:Maven工程的核心配置文件

4.main目录:存放主程序

5.test目录:存放测试文件

6.java目录:存放java源程序

7.resources目录:存放框架或其他工具的配置文件

约定>配置>编码


二、maven常用命令

1.mvn clean:清理

2.mvn compile 编译主程序

3.mvn test-compile:编译测试程序

4.mvn test:执行测试

5.mvn package:打包


三、Maven的坐标

1.groupId定义了项目属于哪个组,一般为域名反写+项目名,如com.a.b,就是a公司的b项目

2.artifacted,项目在组中的唯一ID,模块名称,如b-damain,保存的就是DO文件。

3.version,指定了项目当前版本

Maven工程的坐标与仓库路径的对应关系,比如

  <groupId>org.springframework</groupId>

  <artifactId>spring-core</artifactId>

  <version>5.2.8.RELEASE</version>

位置为org/springframework/spring-core/5.2.8.RELEASE/spring-core-5.2.8.RELEASE.jar


四、仓库的分类

1.本地仓库

2.远程仓库,

(1)私服:搭建在局域网范围内,为局域网范围内的所有Maven工程服务

(2)中央仓库:架设在Internet上,为全世界所有Maven工程服务

(3)中央仓库镜像:为了分担中央仓库流量,提升用户访问速度

仓库保存的内容:Maven工程

(1)Maven自身所需的插件

(2)第三方框架或工具的jar包(第一方是JDK,第二方是自己)

(3)我们自己开发的Maven工程

五、依赖

maven解析依赖信息时会到本地仓库查找被依赖的jar包,对于我们自己开发的Maven工程,使用install命令安装就可以进入仓库

依赖的传递性:依赖的包会将其依赖传递过来,非compile的包不会传递

依赖原则:解决工程之间的jar包冲突问题

统一管理依赖版本

1.使用properties标签内使用自定义标签统一声明版本号

2.在需要统一版本的位置,使用¥引用声明的版本号


    这里值得一提的是(在实际使用遇到的问题),在一个项目依赖另一个项目install生成的包的时候,打包的项目要注意其打包方式,这里,打包了springboot项目,在添加依赖后,一直无法引用类,后来才发现,必须使用普通的maven打包,在build标签里面配置,这样就能使用了。



六、继承

1.使用背景:由于test范围的依赖不能传递,必然会分散在各个模块工程中,很容易造成版本不一致。

2.解决思路:将test依赖统一提取到父工程中,子过程声明依赖不指定版本,以父工程统一设定为准

3.操作步骤:

(1)创建一个maven工程作为父工程,注意打包方式pom

(2)在子过程中声明对父工程的引用

(3)将子过程的坐标与父工程中重复内容删掉

(4)在父工程中统一junit的依赖<dependencyManagement>

(5)在父工程删除junit版本号部分

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容