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

Java学习路线:Maven(一)认识Maven

目录

认识Maven

新建Maven文件

导入依赖


认识Maven

Maven是一个Java的项目管理工具,通过Maven,我们可以实现:

  • 项目自动构建,包括代码的编译、测试、打包、安装等
  • 依赖管理,快速完成依赖的导入

在学习Maven之前,我们导入依赖都需要先下载jar包,而且还有可能一个jar包依赖另一个jar包,就十分麻烦,因此需要一个更加方便的包管理机制

新建Maven文件

在IDEA中自带了Maven环境,就不需要再安装了

直接点击新建项目,选择Maven,就可以新建一个maven项目了

Maven项目的结构如图:

可以看到,src下有两个文件夹,分别为Java和test,一般来说我们直接在Java文件夹中编写代码,test文件夹用于测试

在java文件夹内,还有一个resource文件夹,主要用于存放配置文件和静态资源

此外,还有pom.xml文件,是用于Maven的配置

我们来看看这个pom.xml文件里有什么内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>HelloMaven</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties></project>

  • Project表示这是一个Maven项目
  • modelVersion说明了项目的版本
  • groupId、artifactID、version这三个元素合在一起,用于唯一区分每一个项目

如果别人将我们的代码作为依赖,就需要用这三个元素定位这个项目,称为一个项目的基本坐标

每个项目都有自己的Maven坐标,因此我们通过Maven导入其他依赖的时候只需要填写这三个基本元素就可以了,无需再下载Jar文件

其中,

  • groupId 一般用于指定组的名称,命名规则和包名一致
  • artifactId 一般用于指定项目在当前组中的唯一名称,用于区分其他项目
  • version 表示当前项目的版本,在项目开发的过程中,版本会不断的更新

  • properties中一般是一些变量和选项的配置,无需修改

导入依赖

在Maven中如何导入依赖呢?

首先创建一个dependencies节点:

<dependencies>//里面填写所有的依赖     
</dependencies>

创建好节点后,就可以在节点中添加依赖了

那么,如何知道每个依赖的坐标呢?
 

可以在Maven Repository: Search/Browse/Explore中查询

假如,我们这里想要导入LomBok依赖:

将代码复制到dependencies中即可

注意,刚复制进去的时候代码可能会爆红,这是刷新一下maven仓库就好(idea右边菜单栏的m就是Maven仓库)

为什么通过坐标就可以定位依赖呢?

Maven项目依赖的管理流程如下:

几乎所有的依赖都被放进了中央仓库中,少量依赖存储在其他远程仓库(私服),从远程仓库下载后,依赖会暂时存储在本地仓库。本地仓库的地址在 C:\Users\用户名\.m文件夹下,这个文件夹中我们可以查看到现在本地有的所有依赖

在idea左侧的文件栏中,也可以查看当前项目导入的依赖:

相关文章:

Java学习路线:Maven(一)认识Maven

目录 认识Maven 新建Maven文件 导入依赖 认识Maven Maven是一个Java的项目管理工具&#xff0c;通过Maven&#xff0c;我们可以实现&#xff1a; 项目自动构建&#xff0c;包括代码的编译、测试、打包、安装等依赖管理&#xff0c;快速完成依赖的导入 在学习Maven之前&…...

【深度学习】— 多输入多输出通道、多通道输入的卷积、多输出通道、1×1 卷积层、汇聚层、多通道汇聚层

【深度学习】— 多输入多输出通道、多通道输入的卷积、多输出通道、11 卷积层、汇聚层、多通道汇聚层 多输入多输出通道多通道输入的卷积示例&#xff1a;多通道的二维互相关运算 多输出通道实现多通道输出的互相关运算 11 卷积层11 卷积的作用 使用全连接层实现 11 卷积小结 …...

java mapper 的 xml讲解

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace"com.bnc.s12.mapper.GoodaCateDT…...

全面解析:区块链技术及其应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 全面解析&#xff1a;区块链技术及其应用 文章目录 全面解析&#xff1a;区块链技术及其应用什么是区块链区块链的工作原理1. 分…...

python基础学习笔记

本文类比c语言讲解python 一.变量和类型 前缀小知识&#xff1a; 注意&#xff1a;1.python写每一行代码时&#xff0c;结尾不需要 ; 这点是和c语言有很大区别的 2.代码的缩进&#xff08;就是每行代码前面的空格&#xff09;是非常重要的后文会提到 1.定义变量 注意: 和C/C …...

【dvwa靶场:XSS系列】XSS (DOM) 低-中-高级别,通关啦

一、低级low 拼接的url样式&#xff1a;​​​​​​​ http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default 拼接的新内容 <script>alert("假客套")</script> 二、中级middle 拼接的url样式&#xff1a;​​​​​​​ http://127.0.0.1/dvwa/vuln…...

ONLYOFFICE 8.2深度体验:高效协作与卓越性能的完美融合

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ONLYOFFICE 8.2 &#x1f50d;引言&#x1f4d2;1. ONLYOFFICE 产品简介&#x1f4da;2. 功能与特点&#x1f341;协作编辑 PDF&#x1f342;…...

Mac如何将多个pdf文件归并到一个

电脑&#xff1a;MacBook Pro M1 操作方式&#xff1a; very easy 选中想要归并的所有pdf文件&#xff0c;然后 右键 -> quick actions -> Create PDF 然后就可以看到将所选pdf文件归并为一个pdf的文件了...

LINUX下的Mysql:Mysql基础

目录 1.为什要有数据库 2.什么是数据库 3.LINUX下创建数据库的操作 4.LINUX创建表的操作 5.SQL语句的分类 6.Mysql的架构 1.为什要有数据库 直接用文件直接存储数据难道不行吗&#xff1f;非得搞个数据库呢&#xff1f; 首先用文件存储数据是没错&#xff0c;但是文件不方…...

自然语言处理方向学习建议

自然语言处理方向学习建议 自然语言处理&#xff08;NLP&#xff09;作为人工智能的一个重要分支&#xff0c;近年来在学术界和工业界都取得了显著的发展。作为即将或正在攻读博士学位的你&#xff0c;投身于NLP领域无疑是一个充满挑战与机遇的选择。以下是一些针对NLP方向学习…...

介绍一下如何生成随机数(c基础)

适合对象 c语言初学者 总结语言用色&#xff0c;个人强调用红色&#xff0c;注意为易错点&#xff0c;若有问题请告诉我谢谢。(建议通过目录观看)。一定要自己动手打代码。 rand函数 是生成随机数的函数&#xff0c;但实则是伪随机数。(即是同一个值) 格式 #include<st…...

24-11-1-读书笔记(三十一)-《契诃夫文集》(五)下([俄] 契诃夫 [译] 汝龙)生活乏味但不乏魅力。

文章目录 《契诃夫文集》&#xff08;五&#xff09;下&#xff08;[俄] 契诃夫 [译] 汝龙&#xff09;生活乏味但不乏魅力。目录阅读笔记总结 《契诃夫文集》&#xff08;五&#xff09;下&#xff08;[俄] 契诃夫 [译] 汝龙&#xff09;生活乏味但不乏魅力。 休息&#xff0c…...

从“点”到“面”,热成像防爆手机如何为安全织就“透视网”?

市场上测温产品让人眼花缭乱&#xff0c;通过调研分析&#xff0c;小编发现测温枪占很高比重。但是&#xff0c;测温枪局限于显示单一数值信息&#xff0c;无法直观地展示物体的整体温度分布情况&#xff0c;而且几乎没有功能拓展能力。以AORO A23为代表的热成像防爆手机改变了…...

基于vue框架的的奶茶店预约订单系统3fb55(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,奶茶分类,奶茶信息 开题报告内容 开题报告 题目&#xff1a;基于Vue框架的奶茶店预约订单系统开发 一、研究背景与意义 背景 随着饮品市场的蓬勃发展&#xff0c;奶茶店作为其中的重要组成部分&#xff0c;其业务量和顾客需求持…...

项目实战使用gitee

1.创建本地仓库 2.进行提交到本地仓库 创建仓库后在idea中会显示图标&#xff0c;点击绿色的√进行快速提交 3.绑定远程仓库 4.番外篇-创建gitee仓库 注意不要勾选其他...

数据结构--二叉树_链式(下)

实现链式结构二叉树 链式结构就是由一个一个的节点组成。 ⽤链表来表⽰⼀棵⼆叉树&#xff0c;即⽤链来指⽰元素的逻辑关系。 通常的⽅法是链表中每个结点由三个域组成&#xff0c;数据域和左右指针域&#xff0c;左右指针分别⽤来给出该结点左孩⼦和右孩⼦所在的链结点的存储…...

unity游戏开发之--人物打怪爆材料--拾进背包的实现思路

unity游戏开发之–人物打怪爆材料–拾进背包的实现思路 游戏实现&#xff1a;unity c# 1、敌人&#xff08;怪物&#xff09;的生命值和伤害系统 using UnityEngine; using System.Collections.Generic;public class Enemy : MonoBehaviour {[Header("基础属性")]…...

AWTK文件系统适配器更新-支持RT-Thread DFS POSIX接口

介绍 AWTK 文件系统适配器。 在嵌入式平台中&#xff0c;有时没有 POSIX 兼容的文件系统 API&#xff0c;需要把一些文件系统实现&#xff0c;包装成 AWTK 的 fs 接口。本项目提供一些常见文件系统的适配&#xff0c;目前支持的文件系统有&#xff1a; FATFS 主要用于访问 TF…...

C#如何快速获取P/Invoke方法签名

使用API函数已经好几年了&#xff0c;封装函数签名基本是参照MSDN上的文档&#xff0c;然后再做数据类型对应。 虽然有 pinvoke.net 这个网站&#xff0c;但基本很少使用。一方面是想多动手&#xff0c;另一方面是因为各种数据类型基本都用过了&#xff0c;都能自己在C#中 对应…...

CqEngine添加联合索引和复合唯一索引

一.实体类 Data public class CategoryT {private Integer id;private String oneCategory;private String twoCategory;private String createTime;private String updateTime;public String uniKey() {return oneCategory "/" twoCategory;} }二.集合 Suppress…...

垂直领域搜索效果提升300%的关键路径,如何用DeepSeek精准捕获代码、论文、API三类技术语义?

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek垂直技术搜索的范式革命 传统通用搜索引擎在处理深度技术查询时&#xff0c;常面临语义漂移、上下文断裂与领域知识缺失三大瓶颈。DeepSeek垂直技术搜索通过融合代码理解、文档结构建模与多粒度技术实…...

Unity ShaderGraph环境搭建:URP配置与节点库激活指南

1. 这不是“装个插件就完事”的 ShaderGraph 入门很多人点开 Unity 官方文档里那句“Shader Graph is included with Unity 2019.1”就直接关掉页面&#xff0c;以为只要打开 Unity 就能拖拽节点写 Shader——结果新建一个 Shader Graph Asset&#xff0c;双击打开&#xff0c;…...

【紧急预警】2025年起Steam/Epic将强制要求AI生成内容标注——游戏公司AI Agent内容溯源方案已迫在眉睫

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent游戏行业应用的监管变局与战略意义 近年来&#xff0c;AI Agent在游戏开发、智能NPC行为建模、动态剧情生成及玩家个性化体验优化等领域加速落地&#xff0c;引发全球监管机构高度关注。欧盟《…...

3分钟搞定3D视频转2D:终极免费工具让普通设备也能体验VR沉浸感

3分钟搞定3D视频转2D&#xff1a;终极免费工具让普通设备也能体验VR沉浸感 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.c…...

如何高效使用Gofile下载器:从单文件到批量下载的完整指南

如何高效使用Gofile下载器&#xff1a;从单文件到批量下载的完整指南 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader Gofile下载器是一款专门用于从Gofile.io平台下载文件的…...

Unity 2D跑酷开发全链路实战:从物理帧到对象池的工程化落地

1. 这不是“又一个跑酷游戏”&#xff0c;而是Unity 2D开发能力的完整压力测试 很多人点开“Unity跑酷游戏教程”时&#xff0c;心里想的是&#xff1a;拖几个Sprite&#xff0c;加个Rigidbody2D&#xff0c;写个Input.GetKeyDown(KeyCode.Space)跳一下&#xff0c;再配个背景滚…...

3步搞定老iPhone降级:LeetDown让你的iPhone 5s/6焕发新生

3步搞定老iPhone降级&#xff1a;LeetDown让你的iPhone 5s/6焕发新生 【免费下载链接】LeetDown a macOS app that downgrades A6 and A7 iDevices to OTA signed firmwares 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown 还在为iPhone 5s或iPhone 6升级后卡顿…...

Windows微信QQ防撤回终极指南:一键阻止消息被撤回的完整教程

Windows微信QQ防撤回终极指南&#xff1a;一键阻止消息被撤回的完整教程 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitc…...

终极免费Flash反编译工具:5分钟学会使用JPEXS拯救你的SWF资源

终极免费Flash反编译工具&#xff1a;5分钟学会使用JPEXS拯救你的SWF资源 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler 你是否曾遇到过这样的困境&#xff1f;多年前制作的Flash动画文…...

边缘视觉模型实战指南:ViT优化、多模态对齐与事件相机融合

1. 项目概述&#xff1a;这不是一份“论文清单”&#xff0c;而是一份实战派视觉工程师的周度技术雷达上周&#xff08;2023年8月28日至9月3日&#xff09;我像往常一样&#xff0c;在晨会前半小时打开arXiv、CVPR官网和几所顶尖实验室的GitHub更新页&#xff0c;准备快速扫一遍…...