Maven学习(传统Jar包管理、Maven依赖管理(导入坐标)、快速下载指定jar包)
目录
一、传统Jar包管理。
(1)基本介绍。
(2)传统的Jar包导入方法。
1、手动寻找Jar包。并放置到指定目录下。
2、使用IDEA的库管理功能。
3、配置环境变量。
(3)传统的Jar包管理缺点。
二、Maven。
(1)什么是Maven。
(2)Maven的特点与作用。
(3)下载安装Maven与配置Maven。
(4)Maven依赖管理。
三、快速手动下载指定jar包。
(1)Maven的中央仓库。
(2)进入Maven中央仓库网页。
(3)选择需要下载的Jar包。
(4)选择对应合适的Jar包版本。
(5)选择下载Jar包或导入坐标。(在pom.xml文件)
一、传统Jar包管理。
(1)基本介绍。
- 传统的Jar包导入通常是:在没有使用(如Maven)这样的依赖管理工具之前,Java开发者如何管理和导入外部库。
(2)传统的Jar包导入方法。
1、手动寻找Jar包。并放置到指定目录下。
- 开发者需要手动从互联网上找到所需的Jar文件,下载后将其放入项目的lib目录下。
- 在(如:Eclipse、IntelliJ IDEA等)中,需要手动将这些Jar文件添加到项目的构建路径中,以便编译器能够识别和使用这些库。
2、使用IDEA的库管理功能。
- IDEA提供了库管理功能,允许开发者通过图形界面添加Jar文件。
- 开发者可以通过IDE的“添加库”或“添加Jar包”功能,选择本地的Jar文件并将其添加到项目中。
3、配置环境变量。
- 在某些情况下,开发者会通过设置环境变量(如:CLASSPATH)来指定Jar文件的位置,这样JVM在运行时能够找到这些库。
- 等等还有其它方法(如:单独管理系统级的Jar包、赋值粘贴类文件、管理WAR文件)
(3)传统的Jar包管理缺点。
- 开发者需要手动下载Jar包并将其复制到项目的lib目录下,这不仅耗时而且容易出错。
- 没有自动化的工具来处理依赖的解析和版本管理,导致依赖冲突和版本不一致的问题。
- 由于每个项目都有自己的依赖副本,项目的移植和维护困难。
- 对于多个项目,相同的Jar包需要在每个项目中重复添加,大量的重复劳动。
- 没有中央仓库来统一管理依赖。使得依赖的查找、下载和更新变得繁琐。
- 没有统一的项目结构和构建流程。使得新开发者难以快速理解和上手项目。
- 相比现代的Maven工具,传统方式在构建速度上存在劣势,尤其是在大型项目中。
- 这些缺点导致了开发效率的降低和项目维护难度的增加。这也是为什么像Maven和Gradle这样的现代依赖管理工具被广泛采用的原因。
二、Maven。
(1)什么是Maven。
- Maven是一个软件项目管理和构建自动化工具,主要用于管理Java项目。
- Maven的主要作用是在项目开发阶段:对项目进行依赖管理、项目构建以及管理插件。
(2)Maven的特点与作用。
- Maven使用XML文件(POM)来描述项目信息和配置。(包括项目依赖、插件、构建配置等)
- Maven 提供了强大的依赖管理功能。能够自动下载项目所需的库文件,并解决依赖之间的版本冲突。
- Maven推崇"约定优于配置",推荐标准的目录结构和生命周期,使得项目结构更加统一。
- Maven拥有丰富的插件系统。这些插件可以执行特定的任务(称为目标),如编译代码、运行测试、生成文档等。
- Maven可以在多种操作系统上运行。(包括 Windows、Linux 和 macOS)
- Maven有中央仓库。其中包含了大量常用的库,开发人员可以通过简单的配置来管理项目的依赖关系。
(3)下载安装Maven与配置Maven。
- 这里的操作方法博主已经在另外的一篇博客进行总结了!(详细的很)
- 博客链接如下。
Maven下载安装、环境配置(超详细)(包括Java环境配置(Windows)、在IDEA中配置Maven)_maven下载安装配置-CSDN博客文章浏览阅读1.3w次,点赞76次,收藏283次。这篇博客主要是记录了如何下载安装Maven ,并且如何在本机Windows配置环境变量。其次写到了如何在IDEA中配置Maven,最后在博客中还讲到了如何配置Java的环境变量......_maven下载安装配置
https://blog.csdn.net/m0_74363339/article/details/139768830
(4)Maven依赖管理。
- 就是对Jar包的管理,以往我们需要下载好xxxx.jar的jar包,粘贴到工程的lib目录下面去。
- 如今使用Maven的依赖管理功能,想要引入某个Jar包只需要在对应的Maven项目的pom.xml文件中导入Maven的坐标即可。(它会通过坐标找到对应的Jar包并下载到本地的maven仓库!!)
三、快速手动下载指定jar包。
(1)Maven的中央仓库。
- Maven的中央仓库是Maven构建系统的核心组件之一,它提供了大量的开源库和依赖项,极大地简化了项目的依赖管理和构建过程。
Maven的中央仓库地址
- 由于国内网络环境的原因,直接访问官方Maven中央仓库可能会遇到速度慢或不稳定的问题。因此,推荐国内用户使用国内的Maven中央仓库镜像,如阿里云、华为云等提供的镜像。这些镜像不仅访问速度快,而且稳定性高,能够显著提升项目的构建效率。
https://mvnrepository.com/
(2)进入Maven中央仓库网页。
- 左侧导航栏可以看到热搜的资源。
- 也可以直接通过上方的主搜索栏,直接根据Jar包名进行搜索。
(3)选择需要下载的Jar包。
- 也可以直接搜索Jar包名字即可。
(4)选择对应合适的Jar包版本。
- 选择稳定的、且无漏洞的版本。
- 选择使用次数较多的版本。(经过了市场检验的,使用人多说明稳定性好)
(5)选择下载Jar包或导入坐标。(在pom.xml文件)
- 直接点击下面的"jar"按钮,弹出下载提示,直接下载。
- 或者复制下面对应坐标并前往对应的Maven项目的pom.xml文件粘贴。
相关文章:

Maven学习(传统Jar包管理、Maven依赖管理(导入坐标)、快速下载指定jar包)
目录 一、传统Jar包管理。 (1)基本介绍。 (2)传统的Jar包导入方法。 1、手动寻找Jar包。并放置到指定目录下。 2、使用IDEA的库管理功能。 3、配置环境变量。 (3)传统的Jar包管理缺点。 二、Maven。 &#…...
CTF: 在本地虚拟机内部署CTF题目docker
step 1 安装基本依赖 sudo apt-get update sudo apt-get install -y \ca-certificates \curl \gnupg \lsb-releasestep 2 安装docker sudo apt-get remove docker docker.io containerd runc sudo apt-get update sudo apt-get install \apt-transport-https \ca-certificate…...

视频推拉流EasyDSS无人机直播技术巡查焚烧、烟火情况
焚烧作为一种常见的废弃物处理方式,往往会对环境造成严重污染。因此,减少焚烧、推广绿色能源和循环经济成为重要措施。通过加强森林防灭火队伍能力建设与长效机制建立,各地努力减少因焚烧引发的森林火灾,保护生态环境。 巡察烟火…...

SpringBoot【十一】mybatis-plus实现多数据源配置,开箱即用!
一、前言🔥 环境说明:Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE 正常情况下我们在开发系统的时候都是使用一个数据源,但是由于有些项目同步数据的时候不想造成数据库io消耗压力过大,便会一个项目对应多个数据源…...
【嵌入式linux基础】关于linux文件多次的open
在 Linux 中,设备文件可以被多次打开(open()),但这取决于具体的设备类型和其驱动程序的实现。以下是关于设备文件多次打开的一些关键点: 普通字符设备: 对于大多数字符设备,如串口、TTY 设备等&…...

TPAMI 2023:When Object Detection Meets Knowledge Distillation: A Survey
摘要 目标检测(Object Detection,OD)是计算机视觉中的一项关键任务,多年来涌现出了众多算法和模型。尽管当前 OD 模型的性能有所提升,但它们也变得更加复杂,由于参数规模庞大,在工业应用中并不…...
2024前端面试题(持续更新)
目录 一、js的数据类型有哪些? 二、什么是symbol? 三、什么是浅拷贝什么是深拷贝? 四、vue2的生命周期? 五、vue2中父子组件的生命周期调用顺序 六、vue3的生命周期 七、vue3对比vue2的变化 八、组合式API中的ref和reactiv…...
apache转nginx访问变成下载解决方法
在配置文件 nginx.conf中存在 第一行: include mine.types 对应了文件的mime类型。 第二行: 默认的是octet-stream, 意思是如果一个文件的mime类型不存在就会使用默认的类型。 通常是这个导致了文件的下载。 第一种方案:(推荐&a…...

【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(三)
目录 ARC规则 概要 所有权修饰符 __strong修饰符 __weak修饰符 __unsafe_unretained修饰符 __autoreleasing修饰符 ARC规则 概要 “引用计数式内存管理”的本质部分在ARC中并没有改变,ARC只是自动地帮助我们处理“引用计数”的相关部分。 在编译单位上可以…...

Oracle数据库使用dblink是时出现 ORA-12170:TNS:连接超时
原因: 我遇到这种情况是因为dblink那端的数据库被我重新导了一下dmp,然后本地这边查询就报错了。 解决办法: 把已有的dblink删掉或者说是换个名字,然后按照原来的再新建一个同名的dblink就解决了。...
OpenHarmony系统中实现Android虚拟化、模拟器相关的功能,包括桌面显示,详细解决方案
在 OpenHarmony 系统中实现 Android 虚拟化 和 模拟器功能(面显包括桌示)是一个复杂的任务,涉及多个关键技术栈的集成和深度定制。我们可以通过多种方式来实现 Android 系统的虚拟化和模拟器功能,类似于在普通操作系统中运行虚拟机…...

决策曲线分析(DCA)中平均净阈值用于评价模型算法(R自定义函数)
决策曲线分析(DCA)中平均净阈值用于评价模型算法 DCA分析虽然不强调用来评价模型算法或者变量组合的优劣,但是实际应用过程中感觉DCA曲线的走势和模型的效能具有良好的一致性,其实这种一致性也可以找到内在的联系,比如…...

《经验分享 · 软考系统分析师》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...
记录一下 js encodeURI和encodeURIComponent URL转码问题
escape:由于它已经被废弃,不建议在任何新的代码中使用。encodeURI:当你需要对整个URI进行编码时使用,例如在将整个URL作为参数传递时。encodeURIComponent:当你需要编码URI中的某一部分,尤其是查询字符串参…...
【C语言】二维前缀和/求子矩阵之和
相信你是最棒哒!!! 目录 一、题目描述 正确代码 二、题目描述 题目代码 总结 一、题目描述 输入一个 𝑛 行 𝑚 列的整数矩阵,再输入 𝑞个询问,每个询问包含四个整数 𝑥1…...

SRS 服务器入门:实时流媒体传输的理想选择
在当今视频流媒体需求爆炸式增长的时代,如何选择一款高效、稳定且功能强大的流媒体服务器成为了许多开发者和企业关注的焦点。而 SRS(Simple Realtime Server)作为一款开源的流媒体服务器,以其卓越的性能和灵活的功能,…...

【ETCD】【源码阅读】configurePeerListeners() 函数解析
configurePeerListeners 是 ETCD 的一个核心函数,用于为集群中节点之间的通信配置监听器(Peer Listener)。这些监听器主要负责 Raft 协议的消息传递、日志复制等功能。函数返回一个包含所有监听器的列表。 函数签名 func configurePeerList…...

1_ssrf总结
content 什么是ssrf?简介原理 危害利用内网访问端口扫描fsockopenurlbypass127.0.0.0被禁止绕过302跳转DNS重绑定绕过 file协议dict协议gopher协议主从复制打redis打mysql打fastcgi协议打未授权redis Defence 什么是ssrf? 简介 SSRF(Server-Side Request Forger…...
深入解析 Redis
1. 为什么 Redis 性能至关重要? 在现代分布式应用中,Redis 被广泛作为缓存系统、消息队列、实时数据存储和会话管理等多种场景的解决方案。作为一个高性能的内存数据库,Redis 的设计理念是提供低延迟和高吞吐量的操作。然而,当 R…...

Visual Studio 2022发布UWP应用证书绑定失败
最近发布UWP应用时,卡在了关联产品这步,一直提示网络链接问题,获取不到产品信息。创建新项目也是这样,猜测低版本的VS不支持发布UWP应用了,便升级到了VS2022。VS2022创建新UWP工程确实可以关联发布应用,并成…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...