Maven2-坐标

作者: 毛大黑 | 来源:发表于2018-02-05 15:45 被阅读0次

什么是Maven坐标?

在生活中,每个城市,地点,都有自己独一无二的坐标,这样快递小哥才能将快递送到我们手上。
类似于现实生活,Maven的世界也有很多城市,那就是数量巨大的构件,也就是我们平时用的jar,war等文件。如果这些构件没有具体的省份,门牌号,那就只能挨家挨户的搜查了,于是Maven定义这样一组规则。世界上任何一个构件都可以使用Maven坐标唯一标识,Maven坐标元素包括:groupId,artifactID,version,packaging,classifier,当我们提供了这些信息后,Maven就会从中亚仓库中寻找相应的构建供我们使用。
我们开发自己的项目时,也要为其定义适当的坐标,以便其他Maven项目引用该项目生成的构建。

坐标元素详解

groupId

当前Maven项目隶属的实际项目,比如groupId为 org.sonatype.nexus,那么org.sonatype就表示一个组织,nexus表示这个组织下的实际项目

artifactId

该元素定义了实际项目中的一个maven项目,推荐做法将使用的实际项目名称作为artifactId的前缀,因为在默认情况下,Maven生成的构件,会以artifactId作为开头,这样可以方便需找实际构件。

version

该元素定义了Maven当前所处的版本

packaging(可选)

该元素定义了Maven项目打包的方式,打包方式会影响到构建的生命周期,默认为jar

classifier

该元素定义了构建输出的一些附属构件,与主构件对应,不能直接定义项目的classifier,因为附属构建不是项目直接生成的,而是由附加的插件帮助生成的。
比如,如果主构件为nexus-indexer-2.0.0.jar,那么可能会通过插件生成如nexus-indexer-2.0.0-javadoc.jar,nexus-indexer-2.0.0-sources.jar等,其中包含了java文档和源代码,这个时候javadoc和sources就是两个附属构建的classifier,这样附属构建也有了自己唯一的坐标。

坐标代码实例

现有一份pom.xml文档部分内容,我们可以看一下文档是如何利用Maven坐标的

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com.xikunqu.account</groupId>
<artifactId>account-email</artifactId>
<name>Account Email</name>
<version>1.0.0-SNAPSHOT</version>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>2.5.6</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>
  • 可以看到pom.xml文档中定义了该项目的groupId,artifactId,name和version,当构建后,就会生成该项目的jar包,此时,如其他项目要使用此项目,就可以通过坐标找到此jar包。
  • 还可以看到文档中还利用坐标声明了依赖和插件。

相关文章

  • Maven2-坐标

    什么是Maven坐标? 在生活中,每个城市,地点,都有自己独一无二的坐标,这样快递小哥才能将快递送到我们手上。类似...

  • 坐标

    我的一个朋友挺有本事,偶然跟另一个朋友炫耀起这位朋友的能耐,他老婆在旁边插了一句:“他会上天吗?” 我们三个都笑了...

  • 坐标

    前进,前进 前面有什么? 是迷茫亦或是疑惑 羁绊的不是双足 是灵魂亦或是 勇敢的心 你放弃吧 你感觉前所未有的喜悦...

  • 坐标

    在历史这个坐标系中找到自己位置,在历史中以自己为原点画个坐标系#∞

  • 坐标

    “该死的头儿!”一阵寒风吹过,阿力西亚忿忿地咒骂着。 “在这样糟糕的环境里,居然还给了我们这样麻烦的任务。从前的主...

  • 坐标

    每次的长途,我都会选择,那辆古色古香的巴士。每次的右排第三座,都会是我,在那里静静的看着窗外。透过那窗的风,在夏天...

  • 坐标

    路灯下张望,一个娇小却精干的孩子,推着自行车从校门内走出,一张圆脸写满稚气和倔强,一头短发透发着干练和坚强,她猛力...

  • 坐标

    坐标一词的适用领域极其广泛,单纯的探讨这一个概念罄笔难书,因此,这里只是讨论一下情质的流态的坐标体现。而想要在情质...

  • 坐标

    我喜欢站在城市的一个角落,望着人来人往的车,和那些转瞬即逝的陌生面孔,那令我感到世界的美好。 一个城市那么大,充...

  • 坐标

    人这一辈子,到底什么最重要? 走到目的地,是需要在浩瀚的人生长河中寻找“指南针”。 当然,生活也总是充满不确...

网友评论

    本文标题:Maven2-坐标

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