【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.example</groupId>
<artifactId>my-project</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>

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 项目

image-20240113105010480

2、创建结果

image-20240113105107396

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618157.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django(七)

Django(六) 4.编辑用户 点击编辑&#xff0c;跳转到编辑页面&#xff08;将编辑行的ID携带过去&#xff09;。编辑页面&#xff08;默认数据&#xff0c;根据ID获取并设置到页面中&#xff09;提交&#xff1a; 错误提示数据校验在数据库更新 user_edit.html {% exte…

Docker五部曲之二:Docker引擎

文章目录 前言Docker引擎镜像管理容器管理容器运行前台运行和后台运行容器识别重启策略清除 容器日志 数据管理卷挂载创建和管理卷启动带有卷的容器通过Docker Compose使用卷使用只读卷备份、恢复和迁移卷 绑定挂载用绑定挂载启动一个容器Docker Compose使用绑定挂载使用只读绑…

【嵌入式——QT】QT静态编译

【嵌入式——QT】QT静态编译 QT下载查看文档下载Visual Studio打开命令行模式编译添加QT到Qt Creator编译示例 QT下载 下载地址 进入目录&#xff0c;我这里选择的qt-everywhere-src-5.14.1.zip。 查看文档 解压压缩包打开源码&#xff0c;查看README文件&#xff0c;里面…

双交叉限幅控制总结

空燃比小于等于1使用下图&#xff1a;空燃比大于1&#xff0c;MAX变MIN&#xff0c;MIN变MAX&#xff0c;高低选互换即可。加负荷&#xff0c;先加空气&#xff0c;后加煤气&#xff0c;降负荷&#xff0c;先降煤气&#xff0c;后降空气。 交叉限幅和双交叉限幅的区别 交叉限幅…

C#,质数(Prime Number)的四种算法源代码和性能比较

一、概念 质数又称素数。一个大于1的自然数&#xff0c;除了1和它自身外&#xff0c;不能被其他自然数整除的数叫做质数&#xff1b;否则称为合数&#xff08;规定1既不是质数也不是合数&#xff09;。 本文介绍了四种求解质数的算法。 &#xff08;1&#xff09;质数筛&am…

【C++】- 类和对象

类和对象③ 介绍运算符重载赋值运算符重载运算符重载 在学习C语言时&#xff0c;我们首先接触的就是变量&#xff0c;再深入学习&#xff0c;我们可以利用运算符对变量进行操作&#xff0c;当我们使用C编写程序时&#xff0c;经常会遇到一些需要对特殊的例如自定义数据类型进行…

BikeDNA(四)初始化参考数据

BikeDNA&#xff08;四&#xff09;初始化参考数据 这本笔记本&#xff1a; 加载定义研究区域的多边形&#xff0c;然后为研究区域创建网格叠加。加载参考数据。处理参考数据以创建分析所需的网络结构和属性。 先决条件和条件 输入/输出 config.yml 必须提前设置。 此笔记本…

解决文字识别中误识别问题的秘籍

随着人工智能技术的不断发展&#xff0c;文字识别技术已经广泛应用于各个领域&#xff0c;如智能客服、智能家居、自动驾驶等。然而&#xff0c;在实际应用中&#xff0c;文字识别技术也面临着误识别的问题。误识别不仅会影响用户体验&#xff0c;还可能导致严重的后果。因此&a…

怎么把PDF转成图片格式?分享一个PDF转图片的方法

在数字时代&#xff0c;PDF文件已经成为我们日常工作中不可或缺的一部分。然而&#xff0c;有时候我们需要将PDF文件中的内容转换为图片格式&#xff0c;这涉及到将PDF转图片的需求。PDF转图片的需求来源于不同的应用场景。在某些情况下&#xff0c;我们需要将PDF文件中的内容以…

【MATLAB】 多元变分模态分解MVMD信号分解算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 1 基本定义 多元变分模态分解&#xff08;MVMD&#xff09;是一种信号分解方法&#xff0c;可以自适应地实现信号的频域剖分及各分量的有效分离。 MVMD算法的具体步骤如下&#xff1a; 假设原始信号S被分解为K个分量μ…

代码随想录 Leetcode160. 相交链表

题目&#xff1a; 代码(首刷看解析 2024年1月13日&#xff09;&#xff1a; class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {ListNode *A headA, *B headB;while (A ! B) {A A ! nullptr ? A->next : headB;B B ! nullpt…

【力扣·每日一题】2182.构造限制重复的字符串(模拟 贪心 优先队列 C++ Go)

题目链接 题意 给你一个字符串 s 和一个整数 repeatLimit &#xff0c;用 s 中的字符构造一个新字符串 repeatLimitedString &#xff0c;使任何字母 连续 出现的次数都不超过 repeatLimit 次。你不必使用 s 中的全部字符。 返回 字典序最大的 repeatLimitedString 。 如果…

[易语言]易语言部署yolox的onnx模型

【官方框架地址】 https://github.com/Megvii-BaseDetection/YOLOX 【算法介绍】 YOLOX是YOLO系列目标检测算法的进一步演变和优化。它由Megvii Technology的研究团队开发&#xff0c;是一个高性能、可扩展的对象检测器。YOLOX在保留快速处理速度的同时&#xff0c;通过引入一…

NetApp E系列(E-Series)OEM产品介绍以及如何收集日志和保存配置信息

NetApp E系列是NetApp收购LSI存储后建立的一条新的产品线&#xff0c;由于LSI存储的历史悠久&#xff0c;所以这条产品线给NetApp带来了很多的OEM产品&#xff0c;可以说E系列是世界上OEM给最多公司的存储产品线也不为过&#xff0c;因为最早LSI的产品销售测率就是OEM&#xff…

JQuery过滤选择器-如何让某个元素换颜色(俩种方式)

目录 一、过滤选择器&#xff1a;eq二、过滤选择器 : lt 前言 : 在做项目时经常会遇到列表或者选择某个元素 一、过滤选择器&#xff1a;eq :eq (index)匹配一个给定索引值的元素 $("ul li:eq(0)").css("color","red");二、过滤选择器 : lt …

2024-01-11 部署Stable Diffusion遇挫记

点击 <C 语言编程核心突破> 快速C语言入门 部署Stable Diffusion遇挫记 前言一、一如既往的GitHub部署二、使用的感受总结 create by Stable Diffusion; prompt: fire water llama 前言 要解决问题: 由于近期的努力, 已经实现语音转文字模型, 通用chat迷你大模型的本地…

怎么把workspace的数据导入到simulink进行FFT分析?

怎么把数据导入到simulink在这篇博客已经阐述了&#xff0c;那么如何把数据导入到simulink还能进行FFT分析呢&#xff1f; 首先我们看simulink的FFT分析界面&#xff0c;&#xff08;前置步骤&#xff1a;导入powergui模块&#xff0c;双击powergui模块&#xff0c;Tool选项卡…

发动机装备3d虚拟在线云展馆360度展示每处细节

在当今数字化的时代&#xff0c;消费者对于线上购物的需求与期待日益增长。尤其在购车这一大宗消费行为上&#xff0c;消费者不再满足于传统的图片与文字介绍。为了满足这一市场需求&#xff0c;我们引入了3D线上展示技术。 3D汽车模型实景互动展示是一种通过先进的三维建模技术…

【密码学】python密码学库pycryptodome

记录了一本几乎是10年前的书&#xff08;python绝技–用python成为顶级黑客&#xff09;中过时的内容 p20 UNIX口令破解机 里面提到了python标准库中自带的crypt库&#xff0c;经验证Python 3.12.1中并没有这个自带的库&#xff0c;密码学相关的库目前&#xff08;2024.1.12&a…

一杯干红葡萄酒的酿造

一杯干红葡萄酒的酿造 一、什么是干红葡萄酒&#xff1f; 干红葡萄酒是指葡萄酒在酿造后&#xff0c;酿酒原料(葡萄汁)中的糖分完全转化成酒精&#xff0c;残糖量小于或等于4.00/L的红葡萄酒。 干红葡萄酒按颜色分可以分为 1&#xff0c;白葡萄酒:选择用白葡萄或浅色果皮的酿…