首页 > 其他分享 >Maven - 项目构建

Maven - 项目构建

时间:2023-03-28 18:03:03浏览次数:41  
标签:依赖 项目 仓库 Maven 构建 构件

一、概念

1. Maven

本质是一个软件项目管理和理解工具,基于POM概念,可以从一条中心信息管理项目的构建、报告和文档。

 

2. POM 

项目对象模型,每个Maven工程都有一个pom.xml文件,可以定义项目的坐标、依赖等配置

 

3. 作用

项目构建:提供标准的、跨平台的自动化项目构建方式

依赖管理:方便快捷地管理项目依赖的资源jar包,避免资源间的版本冲突

统一开发结构:提供标准的、统一的项目结构

 


二、 组成

1. 构件

  • 指项目中依赖的第三方库以及插件

 

2. 坐标

  • 每个构件可以用Maven坐标唯一标识,只要提供正确的坐标,就可从Maven仓库中找到相应构件来使用

https://mvnrepository.com/

 

3. 依赖

  • 如果使用Maven构建产生的构件被其他项目引用,那么该构件就是其他项目的依赖
  • 依赖配置:
  • 依赖冲突:
    • 同一个 groupId 同一个 artifactId 下,只能使用一个 version;若相同类型但版本不同的依赖存在于同一个 pom 文件,只会引入后一个声明的依赖
    • 项目两个依赖同时引入了某个依赖,遵循 路径最短优先 和 声明顺序优先 原则

 

4. 仓库

  • 本地仓库 和 远程仓库(包括:中央仓库、私服、其他如阿里云Maven镜像仓库)

 

5. 生命周期

  • 为了对所有的构建过程进行抽象和统一,包含项目的清理、初始化、编译、测试、打包等步骤
  • 类型:default、clean、site
  • 互相独立,每个包含多个阶段,阶段有序且依赖前面阶段

 


三、参考

Maven 核心概念总结 | JavaGuide(Java面试+学习指南)

标签:依赖,项目,仓库,Maven,构建,构件
From: https://www.cnblogs.com/yy528/p/17266166.html

相关文章

  • 物流行业R公司对接舍弗勒EDI项目案例
    舍弗勒集团是全球领先的汽车和工业产品供应商,以高品质、卓越技术和创新能力著称,提供高精度的发动机、变速箱、底盘部件和系统,以及滚动轴承和滑动轴承解决方案。项目需求......
  • rust 项目的文件结构
    发文原因很多初学者都使用cargonew[project_name]来创建项目,并直接在main.rs文件中实现所有功能。这样是不合理的,并不符合我们cargo的开发规范。下面将简单的介......
  • 总体设计(软件项目)
    这份报告是机票预订系统的总体设计,老师评分90分,应该是图画的好。1.引言1.1编写目的由前面的需求分析,得出了系统的基本需求,要实现整个系统,需要对用户的需求进行设计,概要......
  • SpringBoot+RocketMq+Mybatis项目整合demo
    转载自:https://blog.csdn.net/mikewuhao/article/details/106666109 ============= Demo实现的功能项目启动生产者和消费者2个服务后,生产者端执行用户查询,从数据......
  • 构建之法阅读笔记02
    看到第三章,发现软件工程开发一直强调团队的重要性,但同时,每个人也发挥着重要的作用,在一个开发团队中,每个人都是一个环,环环相扣才能实现软件的开发。在大部分成功的软件团队......
  • idea为啥每次打开新工程都要重新设置一遍maven配置项,没招了吗?
    背景:每次使用idea打开新的工程,都需要重新设置一遍maven的配置,次次都这样烦死了,就没有一个简便的方法吗?回答:答案是:必须有啊~解题步骤:1.原来的设置方法:File->Settings-......
  • 第三章 工程化 - 基于 webpack 从零构建 vue3.x 项目基本流程二
    bable概述1、babel是什么babel是把最新特性、浏览器无法兼容的代码,编译成浏览器可识别的代码(低版本浏览器对新特性的支持不友好),就比如箭头函数,经过babel的转化......
  • 使用golang+antlr4构建一个自己的语言解析器(完结篇)
    Goland中Antlr4插件在goland中安装Antlr4插件,用于识别输入的字符在在语法文件中生成的语法树的样子,大概就是如下的摸样下载步骤:1.点击文件中的设置选项2.在插件目录......
  • 01 - 环境 - 项目建立
    检测node:node-vvue:vue-v检测到vue'不是内部或外部命令,也不是可运行的时打开下列,找到vue,卸载重装即可https://www.cnblogs.com/wencaiguagua/p/16910640.html ......
  • 松下PLC编程 FP-XH 10轴定位 松下PLC项目实例,两台CPU间通过RS485通讯
    松下PLC编程FP-XH10轴定位松下PLC项目实例,两台CPU间通过RS485通讯,10轴定位控制。轴控制程序采用FB,直观可靠,可以重复使用,使用时只需要对fb接口赋值即可,内部已经对系统寄......