maven in action(四)maven坐标和依赖

Maven的坐标由groupId、artifactId、version、packaging和classifier组成,用于唯一标识构建。dependency元素用于配置项目依赖,其中groupId、artifactId和version是必须的。依赖范围如compile、test、provided、runtime和system控制依赖在不同classpath的有效性。传递性依赖可能导致冲突,Maven遵循就近原则解决。排除依赖和归类依赖有助于管理项目结构,dependency:analyze工具可分析依赖使用情况。
摘要由CSDN通过智能技术生成

坐标(coordinate)

       数学课本中的坐标,在平面中的坐标(x,y)能标明平面中的一点,(x,y,z)能找到空间立体中的一点。根据你的身份证地址能找到这个世界上独一无二的你。而在maven中,世界上任何一个构建(jar或者war)都能用maven坐标唯一标识,maven坐标包括groupId、artifactId、version、packaging、classifier。我们提供正确的坐标元素,maven就能找到对应的构建。在上个maven helloworld示例中,我们可以看到pom.xml文件中对junit jar的坐标。

       当我们开发自己项目的时候,也需要为其定义适当的坐标,这是maven强制要求的。这样其他的maven项目才能够引用该项目生成的构建。


坐标详解

       maven坐标为各种构建引入了秩序,任何一个构建都必须明确定义自己的坐标,一组maven坐标是通过一些元素定义的它们是groupId、artifactiId、version、packaging、classifier。我们来看上一个helloworld项目中的对junit坐标定义。

<span style="font-size:14px;"><span style="font-family:Microsoft YaHei;"><dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies></span></span>

       groupId:定义maven项目隶属的实际项目。groupId一般定义到组织级别。也就是一个组织项目往往会被划分成很多的模块。

       artifactId:该元素定义实际项目中的一个maven项目(或者模块)。

       version:该元素定义mavne项目当前所处的版本。junit的版本是3.8.1。

       packaging:定义maven项目的打包方式。默认是jar。

       classifier:该元素用来帮助定义输出一些附属构建。附属构建与主构建对应,不能直接定义项目的classifier,因为附属构建不是项目直接生成的,而是由附加插件帮助生成的。

       上述5个元素中,groupId、artifactId、version是必须定义的,packing是可选的(默认为jar),而classifier是不能直接定义的。

       之后我们就可以进行依赖管理了。

依赖配置

       如何配置项目对jar的依赖?

              <project>

                    ........

                     <dependencies>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值