Maven入门(一):在exlipse中新建Maven文件时GROUP ID和ARTIFACT ID的简单介绍

 Group Id(组织标识符)含义:

Group Id 通常表示项目所属的组织或团体(如公司、开源组织等),遵循反向域名的命名约定(类似 Java 包名)。

例如:com.google, org.apache, cn.example。

如何填写:

如果是公司项目,格式为:com.公司名.项目名

(例如:com.example.myapp)

如果是个人项目,可以用:个人域名倒置.项目名

(例如:io.github.你的用户名.myproject)

 

Artifact Id(项目标识符)含义:

Artifact Id 是项目本身的唯一名称,通常是项目或模块的简短名称。

例如:spring-core, myapp-service, web-utils。

如何填写:

使用小写字母和连字符(-),避免特殊字符。

直接体现项目功能或模块名称。

例如:user-management, payment-api, data-model。

 

示例开发一个电商平台的订单模块:

Group Id:com.example.ecommerce

(公司域名为 example.com,项目属于电商平台)

Artifact Id:order-service

(模块功能是订单服务)

生成的 Maven 坐标(pom.xml)会包含:

<groupId>com.example.ecommerce</groupId>

<artifactId>order-service</artifactId>

 

注意事项

1. 唯一性:

Group Id + Artifact Id 的组合应该在 Maven 仓库中唯一,避免与其他项目冲突。

2. 命名规范:

使用小写字母和连字符(-),不要用下划线或空格。

避免使用保留关键字(如 test, src 等)。

3. 后续修改:

如果填错,可以在 pom.xml 中手动修改,但需同步调整项目结构或依赖引用。

 

 实例

• Spring Framework:

Group Id: org.springframework

Artifact Id: spring-core, spring-web 等。

• Apache Commons:

Group Id: org.apache.commons

Artifact Id: commons-lang3, commons-io 等。

 

通用填写方式:

Group id:org.example

Artifact id:file-utils

 

Group id填写规则

核心原则:

使用反向域名格式,体现唯一性(即使没有真实域名)

若没有个人域名,可以用一下方式代替:

Github/gitlab账户:io.github.你的用户名或com.gitlab.你的用户名

通用虚拟域名:org.example(保留用于示例),me.你的名字

项目托管平台:io,平台名.用户名(例如:io.bitbucket.用户名)

2.命名规范:

全小写字母,用点号 . 分隔层级。

避免特殊字符(如空格、下划线)。

确保唯一性(避免与他人重复)。

 

二、具体填写示例

场景 1:使用 GitHub 账户

你的 GitHub 用户名:johnsmith

Group Id:io.github.johnsmith

解释:

io.github 表示托管平台是 GitHub。

johnsmith 是你的用户名,确保唯一性。

示例

<!-- pom.xml 中的 Group Id -->

<groupId>io.github.johnsmith</groupId>

<artifactId>todo-app</artifactId>

场景 2:使用 GitLab 账户

你的 GitLab 用户名:alice-dev

Group Id:com.gitlab.alice-dev

解释:

com.gitlab 表示托管平台是 GitLab。

alice-dev 是用户名,符合反向域名格式。

示例

<groupId>com.gitlab.alice-dev</groupId>

<artifactId>blog-system</artifactId>

场景 3:无托管平台账户

个人姓名或昵称:lilycoder

Group Id:me.lilycoder 或 dev.lilycoder

解释:

me 或 dev 是通用顶级域(类似 com/org),常用于个人项目。

lilycoder 是你的唯一标识符。

示例

<groupId>me.lilycoder</groupId>

<artifactId>weather-api</artifactId>

场景 4:测试或本地项目

临时项目:test-project

Group Id:org.example 或 com.example

解释:

example 是 IANA 保留的示例域名,适合本地测试或非公开项目。

示例

<groupId>org.example</groupId>

<artifactId>demo-utils</artifactId>

 

三、注意事项

1. 未来扩展性:

如果后续注册了个人域名(如 lilycoder.com),可将 Group Id 更新为反向域名格式:

<groupId>com.lilycoder</groupId> <!-- 或 com.lilycoder.project -->

2. 开源项目规范:

若计划将项目发布到 Maven 中央仓库,需确保 Group Id 与域名所有权匹配(需通过域名验证)。

3. 避免冲突:

不要使用 org.apache、com.google 等知名组织的保留前缀。

 

四、完整案例

假设你(用户名为 dev-user)在 GitHub 上托管一个工具库项目:

Group Id:io.github.dev-user

Artifact Id:json-parser

pom.xml 片段:

<groupId>io.github.dev-user</groupId>

<artifactId>json-parser</artifactId>

<version>1.0.0</version>

 

五、总结

无域名时:用 io.github.用户名、me.昵称 等虚拟反向域名格式。

有域名后:改为 com.你的域名(如 com.lilycoder)。

关键点:保持命名唯一性、符合 Maven 规范,便于协作和依赖管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值