MAVEN 学习分享

最近系统的学习了maven的一些知识,有一些自己的笔记和理解,留在csdn供各位爷点评。

1. 首先分享一下下载依赖dependency的官方网址:https://mvnrepository.com

根据自己的需要,选择版本,引入到pom.xml文件即可

2. 主要标签及意义

pom.xml 主要组成:

<group-Id>反域名</>

<artifactId>功能</>

<version>版本</>

<packaging>pom/jar(默认)/war/maven-plugin</>

<description>版权声明</>

<properties>定义变量</ > {project_version}:内置参数

<dependencecyManagement>1)只出现在父pom 2)统一版本号 3)声明式(子pom中用到再引)

<dependency></>

<scope>默认是compile,还有test,provided,runtime,system

有一个非常实用的命令可以打印依赖文本到项目下,可以清晰的看到依赖关系。

打印依赖文本:mvn dependency:tree>d.txt。jar包之间的依赖一目了然。

3. 约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。比如现在比较火的springboot,默认的静态资源路径和结构,还有因为约定才减少了很多的spring配置文件的配置。而maven又有哪些约定呢?下面是我的一些笔记:

1)版本约定。maven用于管理web项目的依赖,那版本就是这个圈子的最外沿。一般我们开发提供的版本普遍分为SNAPSHORT和release版本。SNAPSHORT为测试版本,不够稳定,release一般为发布版的稳定版本。

2)超级pom。任何一个Maven项目都隐式的继承自超级POM,这有点类似于任何一个Java类都隐式的继承于Object类。因此,大量超级POM的配置都会被所有Maven项目继承,这些配置也就成为了Maven所提倡的约定。对于Maven 3,超级POM在文件 $ MAVEN_HOME/lib/maven-model-builder-x.x.x.jar中的org/apache/maven/model/pom-4.0.0.xml路径下。对于Maven2,超级POM在文件$ MAVEN_HOME/lib/maven-x.x.x-uber.jar中的org/apache/maven/project/pom-4.0.0.xml目录下。这里的x.x.x表示Maven的具体版本。

4. scope标签

compile:默认值,适用于所有阶段(表明该jar包在编译、运行以及测试中路径后可见),并且会随着项目直接发布。

provided:编译和测试时有效,并且该jar包在运行时由服务器提供。如servlet-api.

runtime:运行时使用,对测试和运行有效。如jdbc.

test:只在测试时使用,在编译和运行时不起作用。发布项目时没有作用。

system:不依赖maven仓库解析,需要提供依赖的显式的置顶jar包路径。对项目的移植来说是不方便的。

这个本人觉得挺实用的,可以去看看自己项目中的标签是否可以优化,比如不必再运行时使用的jar可以改为test。

5. 私服
现在公司一般都有数个产品线并行,为统一管理和后续项目统筹对接,一般都会注册自己的私服,将第三方jar放到私服。

<repositories>
   <repository>
      <id>thirdpart</id>
      <url>私服地址url</url>
      <releases>
         <enabled>true</enabled>
         <updatePolicy>always</updatePolicy>
      </releases>
      <snapshots>
         <enabled>true</enabled>
         <updatePolicy>always</updatePolicy>
      </snapshots>
   </repository>
</repositories>

先写这么多,总之maven是进阶路上和项目管理必不可少的一个节点,不管是项目管理,架构方向还是项目运维,都需要熟练掌握。

此致,敬礼!

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值