Maven基本使用

news2024/12/23 0:46:24

Maven简介:

Apache Maven 是一个项目管理和构建工具,它基于项目模型(POM)的概念,通过一小段描述信息来管理项目的构建,报告和文档

Maven的作用:

  (1)项目搭建;

(2)依赖管理;

(3)项目信息管理。

1.提供一套标准化的项目结构

在不同的Java ide上面创建项目结构,比如说IDEA和eclipse这些ide上创建Java项目都有所不同
但是使用Maven创建项目可以使得项目结构标准化

2.提供一套标准化的构建流程(编译,测试,打包)

Maven将流程中的操作统统简化了
在Maven项目的右边有如compile(编译),clean(清理),test(运行测试) ,package(打包),install(安装)只需双击即可快速让整个项目动起来

3.提供了一套依赖管理机制

通常导入第三方资源需要下载jar包,复制jar包到项目,将jar包加入工作环境
jar包动辄几十个,还有可能下载下来后发现版本不对应,十分繁琐
而Maven只需要使用标准的坐标配置管理各种依赖
只需要简单的配置就可以完成依赖管理

什么是项目构建?

答:项目构建是:编译、测试、成文(生成文档)、打包、部署等,或者是:除了编写源码之外其他工作。

Maven是跨平台的:同一套指令可以在不同的系统上运行。

仓库分类:

本地仓库:自己计算机上的一个目录

中央仓库:由Maven团队维护的全球唯一的仓库

远程仓库(私服):一般由公司团队搭建的私有仓库(提升中央仓库的访问速度)

当项目中使用坐标引入对应的依赖jar包后,首先会查找本地仓库中是否有对应的jar包:

如果有,则在项目中直接引用

如果没有,则在中央仓库中下载对应的jar包到本地仓库中

Maven常用命令

        compile:编译

         clean:清理

         test: 测试

          package:打包

           install: 安装

Maven生命周期

Maven构建项目生命周期描述的是一次构建过程经历了多少事件

Maven对项目构建的生命周期划分为3套

clean:清理工作

default:核心工作,例如编译,测试,打包,安装等

site:产生报告,发布站点等

同一生命周期内,执行后边的命令,前边的所有命令会自动执行

Maven坐标详解

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

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

相关文章

7000字详解Spring Boot项目集成RabbitMQ实战以及坑点分析

本文给大家介绍一下在 Spring Boot 项目中如何集成消息队列 RabbitMQ,包含对 RibbitMQ 的架构介绍、应用场景、坑点解析以及代码实战。 我将使用 waynboot-mall 项目作为代码讲解,项目地址:https://github.com/wayn111/waynboot-mall。本文大…

Unity之做一个最简单的FPS游戏demo

目录 😋FPS游戏Demo 💤1.新建FPS模板项目 ⚒️2.装备枪 💣3.设置射击功能 📺4.制造一个子弹预制体 🎮5.发射子弹 说起来小编学Unity差不多一个月了,都是利用上班摸鱼时间学的(doge.jpg&…

【3万块指令免费送】Evol-Instruct 应用:扩充大模型数据多样性

Evol-Instruct 应用:扩充大模型数据多样性 提出背景流程步骤总结Evol-Instruct 代码复现Evol-Instruct 应用:扩充大模型数据多样性 提出背景 论文:https://arxiv.org/pdf/2304.12244.pdf 代码:https://github.com/nlpxucan/Wiza…

如何提高思维能力,洞悉事物本质?(二)

在上一篇文章里,我们分享了几个简单、有效的思维模型。 这一篇,会继续探讨这个话题,向大家介绍几个常用的思维模型。 今天的主题是「找本质」。 大多数问题,当我们思考和讨论的时候,许多人常犯的错误,其实是…

【Redis】实现购物秒杀及分布式锁

Redis实现购物秒杀及分布式锁 全局唯一ID Redis自增ID策略 ID构造是:时间戳 + 计数器 每天一个key,方便统计订单量 业务实现 获取指定时间的秒数 LocalDateTime timeBegin = LocalDateTime.of(2024, 1, 1, 0, 0, 0); long second = timeBegin.toEpochSecond(ZoneOffset…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DatePicker组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DatePicker组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、DatePicker组件 日期选择器组件,用于根据指定日期范围创建日期滑…

前端工程\模块化

前端工程\模块化🏭 本篇文章,学习记录于:尚硅谷🎢,紧接前文:邂逅Node.JS的那一夜→博客 无论是前端、后端、甚至非编程领域都有模块化的概念,只是不同的领域叫法不同,不过&#xf…

n-皇后-dfs

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Scanner;public class Main {static int n,N 20; //这里只会用到2 * n - 1的格子,开大点保险static char[][] g new c…

编曲学习:功能和声 歌曲结构 和弦编配(上)

34届三和弦 功能和声 歌曲结构 和弦编配(上)https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65b4e014e4b064a83b8f44fd?course_idcourse_2XLKtQnQx9GrQHac7OPmHD9tqbv 34届独立音乐人编曲训练营https://app8epdhy0u9502.pc.xiaoe-tech.com/p/t_…

【Java程序设计】【C00219】基于SSM的大学生课程管理系统(论文+PPT)

基于SSM的大学生课程管理系统(论文PPT) 项目简介项目获取开发环境项目技术运行截图 项目简介 这个一个基于SSM的大学生课程管理系统,本系统共分为三种权限:管理员、教师和学生 管理员:查看个人中心、学生管理、公告信…

CTF-WEB的知识体系

CTF概念 CTF是Capture The Flag的缩写,中文一般译作夺旗赛 CTF起源于1996年DEFCON全球黑客大会 DEFCONCTF是全球技术水平和影响力最高的CTF竞赛 竞赛模式 解题模式:解决网络安全技术挑战(即找到flag),提交后获取相应分值。 攻防赛模式:要求找到其他队…

计算机基础知识讲解(原码反码补码)(以及在C语言里面是如何计算和运用的)

补码反码掩码以及原理 补码、反码和掩码是计算机科学中用于表示和处理数值的三种编码方式。 原码 原码是最直观的数值表示方法,它将数值的二进制表示与其符号位结合起来。在原码表示中,正数的符号位为0,而负数的符号位为1。原码的缺点在于…

Django实例_后台管理及分页器

原理步骤参考: Django开发_14_后台管理及分页器-CSDN博客 一、创建Django项目 二、创建page_app python manage.py startapp page_app三、修改settings.py文件 (一)添加app (二)设置每页显示数据个数 (三)设置中文显示 四、总路由添加子路由路径 from django.contrib impo…

MD5算法:高效安全的数据完整性保障

摘要:在数字世界中,确保数据完整性和安全性至关重要。消息摘要算法就是一种用于实现这一目标的常用技术。其中,Message Digest Algorithm 5(MD5)算法因其高效性和安全性而受到广泛关注。本文将详细介绍MD5算法的优缺点…

C++初阶:入门泛型编程(函数模板和类模板)

大致介绍了一下C/C内存管理、new与delete后:C初阶:C/C内存管理、new与delete详解 我们接下来终于进入了模版的学习了,今天就先来入门泛型编程 文章目录 1.泛型编程2.函数模版2.1概念2.2格式2.3函数模版的原理2.4函数模版的实例化2.4.1隐式实例…

leetcode 27.移除元素(python版)

需求 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…

Cocos creator 动作系统

动作系统简介 是用于控制物体运动的一套系统,完全依赖代码进行实现,动态调节节点的移动。 移动 cc.moveTo 移动到某个坐标(x,y) //1秒时间内,移动到0,0let action1 cc.moveTo(1,0,0)this.node.runAction(action1)c…

LeetCode.2670. 找出不同元素数目差数组

题目 题目链接 分析 一种暴力的方法,枚举数组所有数字,分别计算当前元素前面不同的元素和后面不同的元素,然后相减即可。这样的话太暴力,前缀和后缀也需要分别遍历:O(N*2)了。 我们来优化一下: 根据这种…

Git 介绍 与 配置

Git 介绍 Git是一个分布式版本控制系统,用于跟踪文件的更改和协作开发。它可以管理项目的版本历史记录,并允许多个开发者在同一时间进行并行开发。 解决上图产生的问题就出现了git 分布式版本控制系统 看下图 Git 配置 Git的基本配置包括用户名和电子邮…

基于深度学习的鸟类识别系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 卷积神经网络基础 4.2 GoogLeNet模型 4.3 鸟类识别系统 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................…