zoukankan      html  css  js  c++  java
  • MAVEN中的GROUP ID与ARTIFACTID

    GroupID和ArtifactID

    在每次建立maven web项目的时候,选好web文件,到填写group Id与ArtifactId的时候就懵逼了,这篇文章,主要是关于怎么对group Id与ArtifactId方式,以解决困扰自己的长期问题

    • GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构
    • ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

    1、基础知识必备

    <groupId>com.yucong.commonmaven</groupId> 
    <artifactId>commonmaven</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <name>common_maven</name> 
    • groupid:定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.
    • artifacted :定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等
    • version :指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本 
    • name :声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流

     2、何为mave坐标

    maven的世界中拥有数量非常巨大的构件,也就是平时用的一些jar,war等文件。 
    maven定义了这样一组规则: 
    世界上任何一个构件都可以使用Maven坐标唯一标志,maven坐标的元素包括groupId, artifactId, version,package,classifier。 
    只要在pom.xml文件中配置好dependancy的groupId,artifact,verison,classifier, 
    maven就会从仓库中寻找相应的构件供我们使用。那么,"maven是从哪里下载构件的呢?" 
    答案很简单,maven内置了一个中央仓库的地址(http://repol.maven.org/maven2),该中央仓库包含了世界上大部分流行的开源项目构件,maven会在需要的时候去那里下

    3、其他文件解释

    • packaging【可选的,默认为jar】: 当不定义packaging时,maven会使用默认值jar。
    • classifier: 该元素用来帮助定义构件输出的一些附属构件。 
    • 项目构件的文件名是坐标相对应的,一般的规则为:artifact-version.packing

    以上参考资料:https://blog.csdn.net/zhangxingyu126/article/details/81013315

    命名规则

    在Java开发手册中,GroupIDArtifactID被规到工程结构中的二方依赖库里的内容,现主要内容摘抄如下

    定义GAV(GroupID、ArtifactID、Version)遵从以下原则

    1、GroupID格式:com.{公司/BU}.业务线.[子业务线],最多四级

    说明:{公司/BU},例如,alibaba/taobao/tmall/aliexpress等BU一级,子业务线可选

    正例: com . taobao . jstorm 或 com.alibaba.dubbo.register

    2、 ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到中央仓库去查证一下

    正例: dubbo - client / fastjson - api / jstorm - tool

    3、Version命名方式:主版本号.次版本号.修订号

    修订号 修订号:修复 bug ,没有修改方法签名的功能加强,保持 API 兼容性。
    说明:注意:起始版本号必须为: 1.0.0 ,而不是 0.0.1 正式发布的类库必须先去中央仓库进行查证,使版本号有延续性,正式版本号不允许覆盖升级。如当前版本:1.3.3,那么下一个合理的版本号:1.3.4 或 1.4.0 或 2.0.0

    结构显示

    如图所示,我的groupId是:com.mycom.app,artifactId是app-util,项目名称显示的是去掉中间-的artifactId即apputil

  • 相关阅读:
    C++解析一些我们需要的数据
    C语言0数组、柔性数组使用介绍
    正点原子T100智能焊台-试用-拆机测评
    简单工厂模式、工厂模式、抽象工厂模式比较
    一次小模块的使用过程-LC12S无线模块介绍
    正点原子DS100拆解全过程-硬件工程师必备
    STM32通过rosserial接入ROS通讯开发
    Linux下实现Firewalld Net 外网端口转发至内网
    Windows中使用netsh portproxy端口转发
    低延迟网穿透工具FRP
  • 原文地址:https://www.cnblogs.com/lindaiyu/p/10922277.html
Copyright © 2011-2022 走看看