Maven的学习

一、Maven简介

Maven是项目构建和项目管理的工具。它提供了帮助管理/构建/报告文档/依赖/发布等等的方法,可以将项目过程规范化,自动化,高效化以及强大的可扩展性,maven自身及其插件获得代码检查报告,单元测试覆盖率,实现持续集成等等。

二、pom文件

pom是可以继承的。 

pom中packing,如果没有写,默认jar打包。

GAV(groupId, artifactId, version)


 项目的打包类型:pom、jar、war。

使用maven进行模块划分管理,一般都会有一个父级项目,pom文件除了GAV(groupId, artifactId, version)是必须要配置的,另一个重要的属性就是packaging打包类型,所有的父级项目的packaging都为pom。作为父级项目,还有一个重要的属性,那就是modules,通过modules标签将项目的所有子项目引用进来,在build父级项目时,会根据子模块的相互依赖关系整理一个build顺序,然后依次build。

对于子项目自己的GAV配置,GV如果不配置,则会从父级项目的配置继承过来。此外子类项目的packaging值只能是war或者jar。但是如果子模块再做为父模块,继续细分子模块,packaging为pom。

如果是需要部署的项目,则需要打包成war类型,如果只是内部调用或者是作服务使用,则推荐打包成jar类型

dependency为什么会有type为pom,默认的值是什么? 

dependency中type默认为jar即引入一个特定的jar包。那么为什么还会有type为pom呢?当我们需要引入很多jar包的时候会导致pom.xml过大,我们可以想到的一种解决方案是定义一个父项目,但是父项目只有一个,也有可能导致父项目的pom.xml文件过大。这个时候我们引进来一个type为pom,意味着我们可以将所有的jar包打包成一个pom,然后我们依赖了pom,即可以下载下来所有依赖的jar包


三、Maven的相关特性

A.jar引用了B.jar,B.jar引用了X.jar.

C.jar引用了X.jar.

(这里X.jar的版本也一样)如果版本不同导致的冲突,maven是不处理的,需要通过排除不要的依赖来手动解决冲突。

 四、Maven本地仓库、中心仓库、远程仓库

UML

五、项目依赖的jar报错

查看项目依赖,如果发现红框里的内容飘红了,则说明项目当前依赖的 jar 包报错了。

解决方法:

1.可以通过以下的几个步骤来解决: 比对项目的目录结构和 pom 文件的内容是否正确

2.修改了 pom 文件,但是还没有生效造成的,此时可以对 pom.xml 文件执行 reimport 操作

3.如果执行了 reimport 操作还是没有生效,则在 pom.xml 文件所在目录执行 maven 命令:mvn compile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值