Apache Maven 3.6.3 _ 4. Maven 版本区别 & 项目依赖关系

一、Maven 版本区别

我们看一个例子啊,打开 Spring 的官网,随便找个项目。

可以看到啊,后面有很多单词,GA 啊、PRE 啊,我们来看看这些个东西是什么意思。

1. SNAPSHOT(快照版本)

这个就是我们项目初期,刚刚开始开发项目的时候,我们一般就使用这个东西,版本大部分都是 1.0 的,功能不完善、Bug 还多。

这个版本的项目我们尽量不要去使用!!!

2. PRE(预览版)

这个版本是项目中期,我们写的差不多了,然后打包出来一个版本,主要是给开发人员和测试人员测试和找BUG用的。

同样,这个版本的项目我们开发者也不要用

3. RELEASE(最终版)

这个版本的项目就很稳定了,已经通过测试的版本。

我们呢,一般就是使用这个版本

4. GA(General Availability 官方推荐版)

这个 GA 其实是修饰 RELEASE 的,一般带有 GA 的,都是官方推荐使用的版本,这样的项目都是稳定、而且功能齐全的。

常见的就这些,我们一般选择就是选择 RELEASE,并且带有 GA 的。

我们自己的项目可以通过修改项目 pom 的 version 来控制版本。

二、项目依赖关系

这个是 Maven 中一个很重要的东西。

Java 中存在依赖关系,子类可以继承父类,拥有父类的一些公有方法、属性等。

Maven 中也存在依赖关系,可以通过依赖,我们也有父类的一些 pom 的定义。

Maven 中的继承也是单继承,一个 pom.xml 只能继承一个父 pom!!!

来看一个例子

这个是我自己的一个项目,这个项目中我依赖了一个 parent,这个 parent 是 springboot 的一个版本,我们按 ctrl,然后点进去看一下。

可以看到,这个项目也还是有一个继承。点进去再看一下。

可以看到啊,这个就是主项目了,按照辈分排,这个就是爷爷了。

我们这个是一层一层集成下来的,每一个 pom 中都定义了很多东西。

可以看到哈,很多很多

这里我就不多说了,大家自己翻翻看。

但是哈,类似这样的继承,我们还可以发现一个东西。

上面这个 packaging,其实是一个定义,我们一般看到的会有三种,jar、war、pom。

jar 的话,就是我们项目打包完成后,就会生成一个 jar 包,在 target 目录下面。

同理,war,就是生成一个 war 包,在 target 目录下面。

但是唯独这个 pom 特殊,这个 pom 并不会生成什么。

我们可以这么去理解一下,pom 就好比是衣服,衣服上有宝石、黄金、银等等,反正好多好多东西,但是这个 pom 本身是没有任何意义的。

只有人去买了它,穿上它,才能表现出 pom 上面的东西。

所以啊,这个 packaging 是 pom 的 pom.xml,其实就是一个空壳子,毫无意义,只有其他的子 pom 继承了它之后,才会体现得出 packaging 是 pom 的 pom.xml 的意义。

现在看不懂没事,后期我们会说 Spring Cloud,到时候我们感受一下。

 

本篇就先讲述这么多

有问题可以联系我:QQ 2100363119,欢迎大家访问我的个人自愿网站:https://www.lemon1234.com

最近网站在改造中,欢迎各位提出意见。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他 他 = new 他()

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值