【Maven】003-基于 IDEA 创建 Maven 工程

【Maven】003-基于 IDEA 创建 Maven 工程

文章目录

  • 【Maven】003-基于 IDEA 创建 Maven 工程
  • 一、关于 Maven 工程的 GAVP
    • 1、GAVP 简介
    • 2、GAV 坐标规范
    • 3、Packaging 定义规则
  • 二、基于 IDEA 创建 Maven 工程
    • 1、创建 Maven 项目
    • 2、创建结果
    • 3、项目结构说明

一、关于 Maven 工程的 GAVP

1、GAVP 简介

Maven工程的 GAVP 指的是 Group、Artifact、Version、Packaging。这是 Maven 项目的基本坐标,用于唯一标识和定位项目。

  • Group(组织): 表示项目所属的组织或公司,一般以域名的反转形式命名。例如,com.example
  • Artifact(项目名): 表示项目的名称,即项目的唯一标识符。例如,my-project
  • Version(版本): 表示项目的版本号。Maven使用语义化版本号(Semantic Versioning)规范,例如,1.0.0
  • Packaging(打包方式): 表示项目的打包方式,通常是 JAR、WAR、或者其他格式。例如,jar

这些元素一起组成了一个唯一的 GAVP 坐标,用于在 Maven 仓库中标识和检索项目的特定版本。在项目的pom.xml文件中,你可以看到类似以下的配置:

<groupId>com.examplegroupId>
<artifactId>my-projectartifactId>
<version>1.0.0version>
<packaging>jarpackaging>

2、GAV 坐标规范

  1. GroupID 格式
    • 使用格式为com.{公司/BU}.业务线.[子业务线],最多4级。
    • {公司/BU} 例如:alibaba/taobao/tmall/aliexpress等,BU一级;子业务线可选。
    • 示例:com.taobao.tddl 或 com.alibaba.sourcing.multilang。
  2. ArtifactID 格式
    • 使用格式为产品线名-模块名。
    • 语义不重复不遗漏,建议先到仓库中心查证。
    • 示例:tc-client / uic-api / tair-tool / bookstore。
  3. Version版本号格式推荐
    • 主版本号.次版本号.修订号。
    • 主版本号:做了不兼容的API修改或增加了能改变产品方向的新功能。
    • 次版本号:做了向下兼容的功能性新增,如新增类、接口等。
    • 修订号:修复bug,没有修改方法签名的功能增强,保持API兼容性。
    • 例如:初始→1.0.0,修改bug→1.0.1,功能调整→1.1.1等。

3、Packaging 定义规则

项目打包类型及packaging属性说明:

  • jar类型
    • packaging属性为jar(默认值)。
    • 代表普通的 Java 工程,打包后生成以.jar结尾的文件。
  • war类型
    • packaging属性为war
    • 代表 Java 的 web 工程,打包后生成以.war结尾的文件。
  • pom类型
    • packaging属性为pom
    • 代表不会进行实际的打包操作,主要用于做继承的父工程

在使用 IDEA 等工具时,根据项目的packaging值,可以识别项目的类型。这有助于工具在构建、部署等方面的正确操作。

二、基于 IDEA 创建 Maven 工程

1、创建 Maven 项目

【Maven】003-基于 IDEA 创建 Maven 工程_第1张图片

2、创建结果

【Maven】003-基于 IDEA 创建 Maven 工程_第2张图片

3、项目结构说明

下面是常规结构说明,未严格按照“创建结果”进行!

Maven 项目通常遵循一定的标准结构,这有助于组织和管理项目的源代码、资源文件以及构建配置。以下是一般的 Maven 项目结构说明:

  1. src 目录
    • src/main/java:主要的Java源代码目录。
    • src/main/resources:主要的资源文件目录,如配置文件等。
    • src/test/java:测试用例的Java源代码目录。
    • src/test/resources:测试用例的资源文件目录。
  2. target 目录
    • 构建输出目录,包括编译后的类文件、打包后的JAR/WAR文件等。Maven默认会将构建输出放在此目录。
  3. pom.xml
    • 项目的POM(Project Object Model)文件,包含项目的配置信息、依赖管理等。
  4. .gitignore(可选):
    • Git版本控制的忽略文件配置,用于指定哪些文件或目录不纳入版本管理。
  5. .mvn目录(可选):
    • 包含 Maven 的配置文件,例如.mvn/wrapper/maven-wrapper.properties,用于支持 Maven Wrapper。
  6. 其他自定义目录
    • 根据项目的需要,可能会有其他自定义的目录,例如存放文档、脚本或其他资源的目录。

示例结构:

my-maven-project
|-- src
|   |-- main
|       |-- java
|       |-- resources
|-- target
|-- pom.xml
|-- .gitignore
|-- .mvn
    |-- wrapper
        |-- maven-wrapper.properties

你可能感兴趣的:(Maven,maven,intellij-idea,pycharm)