• 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

  • 相关阅读:
    把梳子卖给和尚 引起的CRM
    windows 2008 r2 安装 owas 2013
    wopihost
    电商创业,你到底需要多少人的技术团队?
    信息化,并不能代替管理
    可遇不可求的Question之error: Failed dependencies: MySQLconflicts 错误篇
    可遇不可求的Question之flash的socket连接安全策略文件篇
    可遇不可求的Question之MySQL系统变量interactive_timeout 与 wait_timeout 篇
    可遇不可求的Question之导入mysql中文乱码解决方法篇
    Codesmith怎么判断sqlserver数据库字段是不是标识自增字段
  • 原文地址:https://www.cnblogs.com/lindaiyu/p/10922277.html
Copyright © 2020-2023  润新知