【maven实战】02-坐标详解

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】
免费领取10G资料包与项目实战视频资料

maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,而一组maven坐标是通过一些元素定义的,他们是groupId,artifactId,version,packaging,classifier。如下定义

    <groupId>org.sonatype.nexus<groupId>
    <artifactId>nexus-indexer</artifactId>
    <version>2.0.0</version>
    <packaging>jar</packaging>

groupId:定义当前maven项目隶属的实际项目。比如springframework其对应的maven项目会有很多如spring-core,spring-context等。因此一个实际项目往往会被划分成很多模块。上例中groupId为org.sonatype.nexus,org.sonatype表示sonatype公司建立的一个非营利性组织,nexus表示实际项目名。

artifactId:定义该元素实际的一个项目模块如spring-core

version:该元素定义maven项目当前所处的版本,如上例子中的版本为2.0.0。需要注意的是maven定义了一套完整的版本规范,以及快照(SNAPSHOT)的概念

packaging:定义maven项目的打包方式如上例中packaing为jar,最终打包的文件名为nexus-indexer-2.0.0.jar,而war对应文件的扩展名为.war 默认jar

classifier:很少使用的坐标,一般都可以忽略classifiers。如果你要发布同样的代码,但是由于技术原因需要生成两个单独的构件,你就要使用一个分类器 (classifier)。例如,如果你想要构建两个单独的构件成JAR,一个使用Java 1.4编译器,另一个使用Java 6编译器,你就可以使用分类器来生成两个单独的JAR构件,它们有同样的groupId:artifactId:version组合。如果你的项目使用本 地扩展类库,你可以使用分类器为每一个目标平台生成一个构件。分类器常用于打包构件的源码,JavaDoc或者二进制集合

赞(0) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » 【maven实战】02-坐标详解

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏