美文网首页
不得不说的POM

不得不说的POM

作者: john_leventon | 来源:发表于2019-05-06 16:42 被阅读0次

定义:POM(Project Object Model)项目对象模型,是Maven工程的基本工作单元,是一个名称为pom.xml的xml文件,包含了项目的基本信息,描述了项目如何构建和和项目的依赖等。

pom.xml中可以配置如下信息:

pom.xml文件的结构

pom.xml文件必须指明groupId、artifactId、version。groupId通常是指公司,一般采用公司域名倒写的形式,artifacId是具体项目的名称,version是版本号。groupId和artifactId一起在仓库中唯一标识了一个项目,而加上version再能够完整标识一个项目和它的生命周期。需要特别说明的是version分为snapshot和release。下面我们通过一个例子来说明两者的区别。

假设A公司有一个开源项目juint,然后今天在中央仓库发布了一个1.0-release版本,B公司的项目依赖A公司的junit项目,明天A公司发布了2.0-release的更新,B公司的项目并不会自动更新junit的版本,需要开发人员手动在pom.xml中去配置junit的新版本。

这对于依赖第三方开源项目的项目来说没有什么问题,但是如果此时B公司同时开发两个项目和P1和P2,并且P2依赖于P1,那么如果P1项目更新了,P2项目要想使用P1项目的新特性就需要迭代一个版本号,同时也需要在P2项目的pom.xml中更新P1项目的版本号。这对于频繁构建的开发项目来说,是非常令人发狂的。所以snapshot版本应运而生。P1项目发布了一个1.0-snapshot版本,那么P2即使在本地缓存库中已经存在了版本为1.0-snapshot的版本,仍然会去仓库查询是否有最新的1.0-snapshot更新。

需要特别注意的是,在正式发布的项目中,应该避免使用依赖项目的snapshot版本。

相关文章

  • 不得不说的POM

    定义:POM(Project Object Model)项目对象模型,是Maven工程的基本工作单元,是一个名称为...

  • 不得不说的

    爹妈属兔,今年56了。 说文艺些,一生闯荡,白手起家。抚养了三个孩子并在一座四线小城市拼来一席之地。 临到...

  • 不得不说

    不得不说,在那里,你显得很卑微,很主动,很谄媚,很无聊。而他,显得,很陌生,很躲避,很匆匆了结…… 关于种种,我不...

  • 不得不说

    今天是开始上课的第一天,我心里挺不舒服的。倒不是因为没有假期了,而是我发现,我们寝室,我们班的人,和上一年,根本没...

  • 不得不说

    突如其来的压抑,让我难以呼吸。 “没事”又是这两个字,很简单,我,怎么回复你?我亲爱的对象。我真的意识到,我自己在...

  • 不得不说

    命运的缰绳谁也无法摆脱。 给了你主妇命,你就别想当总统,当然梦里你还是可以解脱的,毕竟关上了你现实的门,活下去的窗...

  • 不得不说

    我们都很贱。 没有时馋,拥有时怀疑,失去时后悔。 很渣。

  • 不得不说

    我现在的处境是这样的,年龄二十六周岁。未婚,没有女朋友。好像我真的不擅长和别人交流。一米六几的身高在人群中是,根本...

  • 不得不说

    不记得是哪天,被儿子缠着一起看他买的新书。儿子兴致盎然,不忍拒绝,遂一起翻阅。没想到,看后胸闷,久久难释,如鲠在咽...

  • 不得不说

    真的不得不说,这个社会一步步教会我认清现实。 真的不得不说,人心的嫉妒与自私往往超乎你的想象。 真的不得不说,有时...

网友评论

      本文标题:不得不说的POM

      本文链接:https://www.haomeiwen.com/subject/xrnroqtx.html