新手创建一个maven管理的项目时,会遇到不知道GroupID、ArtifactID怎么填写认识模糊的问题,做个简单说明:
1、GroupId(Group):
项目所属组织的唯一标识符,对应项目中java的包结构(main目录里java的目录结构)。一般是公司官网域名反写或组织名:比如com.baidu.项目名 或 com.aigov.项目名。com叫域,后面是你自己起的域名。
GroupID定义了项目springbootmybatis属于哪一个组:com.aigov.springbootmybatis
2、ArtifactId(Artifact):
项目的唯一标识符,对应项目的名字,是项目根目录的名称。
ArtifactID定义了一个maven项目在组中的唯一id:假如我为我的springbootmybatis项目写了一个专属的公共包,那么我定义这个公共包的ArtifactId时可以这样写:springbootmybatis_com
3、Version
指定项目当前的版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。
4、Name
直接影响启动类类名。
5、Packaging:
可选,maven会使用默认值jar,表示工程打包格式。
拓展--maven坐标的作用
maven是一个构件库,里面涵盖了大量构件(就是我们平时使用的jar、war文件)。
maven库中的所有构件都有自己的唯一坐标,这些坐标就是由上面解释到的这几个元素组成的。
构件的坐标信息在项目的pom文件中,配置好坐标,就可以通过坐标任意引用特定构架。
举个栗子:
现有这样一个使用环境:要在一个Spring boot整合Mybatis的maven项目:springbootmybatis中,引用一个专门为他写的公共包(也是个maven工程)springbootmybatis_com。如下操作即可:
springbootmybatis_com 的pom文件中显示他的坐标信息是:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 这是springbootmybatis_com 的坐标 -->
<groupId>com.aigov</groupId>
<artifactId>springbootmybatis_com </artifactId>
<version>2.3</version>
<packaging>jar</packaging>
。。。。(还有其他配置,不写出来了)
现在 springbootmybatis 工程的pom文件中加上springbootmybatis_com的坐标即可 实现引用:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- springbootmybatis 的坐标-->
<groupId>com.aigov</groupId>
<artifactId>springbootmybatis</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<!--在这里添加 springbootmybatis_com 的坐标,实现依赖-->
<dependency>
<groupId>com.aigo</groupId>
<artifactId>springbootmybatis_com</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
。。。。。(pom中其他信息不显示出来了)