【Spring Cloud】基于Spring Cloud 微服务架框广告系统之Maven介绍以及新特性

前言:从零到一基于Spring Cloud 微服务架框广告系统之Maven介绍以及新特性的小白篇。

Maven介绍

Maven是一个项目的构建和管理的工具,它提供了构建 报告文档 和依赖发布 分发等等方法,可以方便的管理代码进行依赖管理二进制库。

优势:可以将项目依赖化自动化高效化以及强大的可扩展性,Maven自身插件可获得代码检查报告 单元测试覆盖率实现持续集成。

基本样式

基本样式
注:
1,POM代表工程对象模型,它是使用Maven工作时的基本组建,是一个xml文件
2,它被放在工程根目录下,文件命名位pom.xml
3, POM包含了关于工程和各种配置的信息(版本成员 插件 依赖和项目的目标等),Maven可继承使用了这些信息构建工程。(存在父模块和子模块)
关于代码的相关解释:

<project>//POM的顶级结构以及文件的顶级元素
<modelVersion>4..0</modelVersion>//版本

字节点添加的包,坐标形式


<depences>
<depency>
  坐标
</depency>

</depencies>//依赖 子节点会添加依赖的包

</project>

坐标
groupId:卡包相关的项目,如:com.imooc.passbook
artifactid:工程的卡包,通常与groupld在一起定义仓库的位置
version:工程的版本号,区分不同的版本

Maven常用命令

mvn -v //查看版本
mvn complie //编译 将java源文件编译成class文件
mvn test//执行test目录下的测试用例
mvn package//打包 将java工程打包成jar包以及坐标
mvn clean//清理环境 清除target文件夹
mvn install//安装 将当前项目安装到maven的本地仓库

Maven相关特性

传递依赖

定义:项目在引用一个jar包而该架包引用了另一个jar包,项目在编译的时候会把Maven的直接引用和间接引用的jar包会直接下载到本地,默认情况下会下载到本地的home目录.

排除依赖

定义:我们只想下载直接引用的jar包,那么需要在pom.xml做如下配置:

<dependency>
<groupId> org.apache.hbase </groupId>
<artifactId> hbase </artifactId>
<version>0.94.17</version>//想要使用hbase的jar包
若不使用hbase里的commmons-logging的jar包
<exclusion>//用这个进行排除策略
<groupId> commmons-logging </groupId>
<artifactId> commmons-logging </artifacted>
</exclusion>
</dependency>

依赖冲突
注:相同的jar包相同的版本不存在冲突

短路优先

本项目->A.jar ->B.jar ->X.jar
本目录->C.jar->X.jar

声明优先
引用路径长度相同时,在pom.xml谁先被声明,就适用谁

多模块项目/聚合

父模块pom文件的配置:packaging类型必须是pom

<packaging> pom </packaging>

聚合子模块:使用modules标签

<modules>
<module>  </module>
<module>  </module>
</modules>

父模块统一管理依赖包:使用dependencyManagement标签

作用:管理jar包的版本而不显示列出版本号,会一直沿着父子模块往上走到Management元素的项目指定的版本号,若使用另一个版本号只需要在前面声明即可。

<dependencyManagement>
坐标系
</dependencyManagement>

子模块需要在pom中声明父模块:使用parent标签

<parent>

坐标系

</parent>


©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页