当前位置: 首页 > article >正文

【Maven】基于IDEA进行Maven工程的创建、构建

文章目录

  • 一、基于IDEA创建Maven工程
    • 1. 概念梳理Maven工程的GAVP
    • 2. Idea构建Maven Java SE工程
    • 3. Idea构建Maven Java Web工程
      • 3.1 创建一个maven的javase工程
      • 3.2 修改pom.xml文件打包方式
      • 3.3 设置web资源路径和web.xml路径
    • 4. Maven工程项目结构说明
  • 二、基于IDEA进行Maven工程构建
    • 1. 构建概念和构建过程
    • 2. 可视化方式项目构建
    • 3. 构建插件、命令、生命周期命令之间关系

一、基于IDEA创建Maven工程

1. 概念梳理Maven工程的GAVP

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写。
其中前三个是必要的(在创建项目的时候指定),而 Packaging 属性为可选项(有默认值)。这四个属性主要为每个项目在maven仓库中做一个标识,类似人的姓-名!方便后期项目之间相互引用依赖等!

GAV遵循规则:

​ 1) GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。例如:com.taobao.tddl

​ 2) ArtifactID 格式:产品线名-模块名。

​ 3) Version版本号格式推荐:主版本号.次版本号.修订号

1. 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。

2. 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

3. 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。

例如: 初始→1.0.0  修改bug → 1.0.1  功能调整 → 1.1.1等

Packaging定义规则:

​ 指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!

  • jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。
  • war,代表Java的web工程,打包以后.war结尾的文件。
  • pom,代表不会打包,用来做继承的父工程。

2. Idea构建Maven Java SE工程

在这里插入图片描述

当创建完毕maven工程之后,idea中会自动打开Maven视图,如下图:

在这里插入图片描述

3. Idea构建Maven Java Web工程

3.1 创建一个maven的javase工程

在这里插入图片描述

3.2 修改pom.xml文件打包方式

修改位置:项目下/pom.xml

	   <groupId>com.lm</groupId>
       <artifactId>maven_web</artifactId>
       <version>1.0-SNAPSHOT</version>
       <!-- 新增一列打包方式packaging -->
       <packaging>war</packaging>

3.3 设置web资源路径和web.xml路径

点击File–>Project Structure在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  1. 刷新和校验在这里插入图片描述在这里插入图片描述

4. Maven工程项目结构说明

Maven 是一个强大的构建工具,它提供一种标准化的项目结构。
以下是 Maven Web 程序的文件结构及每个文件的作用:

|-- pom.xml                               # Maven 项目管理文件,用于描述项目的依赖和构建配置等信息 
|-- src
    |-- main                              # 项目主要代码
    |   |-- java                          # Java 源代码目录
    |   |   `-- com/example/myapp         # 开发者代码主目录
    |   |       |-- controller            # 存放 Controller 层代码的目录
    |   |       |-- service               # 存放 Service 层代码的目录
    |   |       |-- dao                   # 存放 DAO 层代码的目录
    |   |       `-- model                 # 存放数据模型的目录
    |   |-- resources                     # 资源目录,存放配置文件、静态资源等
    |   |   |-- log4j.properties          # 日志配置文件
    |   |   |-- spring-mybatis.xml        # Spring Mybatis 配置文件
    |   |   `-- static                    # 存放静态资源的目录
    |   |       |-- css                   # 存放 CSS 文件的目录
    |   |       |-- js                    # 存放 JavaScript 文件的目录
    |   |       `-- images                # 存放图片资源的目录
    |   `-- webapp                        # 存放 WEB 相关配置和资源
    |       |-- WEB-INF                   # 存放 WEB 应用配置文件
    |       |   |-- web.xml               # Web 应用的部署描述文件
    |       |   `-- classes               # 存放编译后的 class 文件
    |       `-- index.html                # Web 应用入口页面
    `-- test                              # 项目测试代码
        |-- java                          # 单元测试目录
        `-- resources                     # 测试资源目录

二、基于IDEA进行Maven工程构建

1. 构建概念和构建过程

项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程。

在这里插入图片描述

2. 可视化方式项目构建

在这里插入图片描述

注意:打包(package)和安装(install)的区别

打包是将工程打成jar或war文件,保存在target目录下

安装是将当前工程所生成的jar或war文件,安装到本地仓库,会按照坐标保存到指定位置

3. 构建插件、命令、生命周期命令之间关系

构建生命周期
构建生命周期可以理解成是一组固定构建命令的有序集合,触发周期后的命令,会自动触发周期前的命令!!!

构建周期作用:``会简化构建过程```
例如:项目打包 mvn clean package即可。

插件、命令、周期三者关系

周期→包含若干命令→包含若干插件
使用周期命令构建,简化构建过程!
最终进行构建的是插件!

http://www.kler.cn/a/568474.html

相关文章:

  • 【前端场景面试】登录鉴权实现方式详解
  • 《论软件测试中缺陷管理及其应用》审题技巧 - 系统架构设计师
  • 【C++/数据结构】队列
  • uni-app 全局请求封装:支持 Promise,自动刷新 Token,解决 401 过期问题
  • 【数据结构】堆与二叉树
  • 基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
  • 人工智能领域顶级期刊
  • 【经验帖】退出MobaXterm后桌面生成两个配置文件
  • Apifox 后置操作中发送请求
  • 【ISP】AF自动对焦
  • C++错误Call to implicitly-deleted default constructor of ‘SerialPortConfig‘
  • 图数据库Neo4j面试内容整理-水平扩展
  • 基因型—环境两向表数据分析——基因型评价
  • JS逆向-233网校sid参数和sign参数
  • 【Java计算机毕业设计】基于SSM+VUE保险公司管理系统数据库源代码+LW文档+开题报告+答辩稿+部署教程+代码讲解
  • 大语言模型的评测
  • 样式和ui(待更新)
  • 玩转大模型——提示词库
  • PhotoShop 扣的图片毛边如何消除--学习日志
  • 图数据库Neo4j面试内容整理-Neo4j 数据库模型设计