Maven学习(传统Jar包管理、Maven依赖管理(导入坐标)、快速下载指定jar包)

news2024/12/14 5:09:15

目录

一、传统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的中央仓库地址icon-default.png?t=O83Ahttps://mvnrepository.com/
(2)进入Maven中央仓库网页。
  • 左侧导航栏可以看到热搜的资源。
  • 也可以直接通过上方的主搜索栏,直接根据Jar包名进行搜索。


(3)选择需要下载的Jar包。
  • 也可以直接搜索Jar包名字即可。


(4)选择对应合适的Jar包版本。
  • 选择稳定的、且无漏洞的版本。
  • 选择使用次数较多的版本。(经过了市场检验的,使用人多说明稳定性好)


(5)选择下载Jar包或导入坐标。(在pom.xml文件)
  • 直接点击下面的"jar"按钮,弹出下载提示,直接下载。
  • 或者复制下面对应坐标并前往对应的Maven项目的pom.xml文件粘贴。

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

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

相关文章

【机器学习】分类器

在机器学习(Machine Learning,ML)中,分类器泛指算法或模型,用于将输入数据分为不同的类别或标签。分类器是监督学习的一部分,它依据已知的数据集中的特征和标签进行训练,并根据这些学习到的知识对新的未标记数据进行分…

uni-app在image上绘制点位并回显

在 Uni-app 中绘制多边形可以通过使用 Canvas API 来实现。Uni-app 是一个使用 Vue.js 开发所有前端应用的框架,同时支持编译为 H5、小程序等多个平台。由于 Canvas 是 H5 和小程序中都支持的 API,所以通过 Canvas 绘制多边形是一个比较通用的方法。 1.…

【机器学习与数据挖掘实战】案例01:基于支持向量回归的市财政收入分析

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈机器学习与数据挖掘实战 ⌋ ⌋ ⌋ 机器学习是人工智能的一个分支,专注于让计算机系统通过数据学习和改进。它利用统计和计算方法,使模型能够从数据中自动提取特征并做出预测或决策。数据挖掘则是从大型数…

Spire.PDF for .NET【页面设置】演示:向 PDF 文档添加页码

在 PDF 文档中添加页码不仅实用,而且美观,因为它提供了类似于专业出版材料的精美外观。无论您处理的是小说、报告还是任何其他类型的长文档的数字副本,添加页码都可以显著提高其可读性和实用性。在本文中,您将学习如何使用Spire.P…

【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(三)

目录 ARC规则 概要 所有权修饰符 __strong修饰符 __weak修饰符 __unsafe_unretained修饰符 __autoreleasing修饰符 ARC规则 概要 “引用计数式内存管理”的本质部分在ARC中并没有改变,ARC只是自动地帮助我们处理“引用计数”的相关部分。 在编译单位上可以…

An error happened while trying to locate the file on the Hub and we cannot f

An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. 关于上述comfy ui使用control net预处理器的报错问…

angular19-官方教程学习

周日了解到angular已经更新到19了,想按官方教程学习一遍,工欲善其事必先利其器,先更新工具: 安装新版版本 卸载老的nodejs 20.10.0,安装最新的LTS版本 https://nodejs.org 最新LTS版本已经是22.12.0 C:\Program File…

计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫 机

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

上海亚商投顾:创业板指震荡调整 机器人概念股再度爆发

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日冲高回落,深成指、创业板指盘中跌超1%,尾盘跌幅有所收窄。机器人概念股逆势爆…

粘贴可运行:Java调用大模型(LLM) 流式Flux stream 输出;基于spring ai alibaba

在Java中,使用Spring AI Alibaba框架调用国产大模型通义千问,实现流式输出,是一种高效的方式。通过Spring AI Alibaba,开发者可以轻松地集成通义千问模型,并利用其流式处理能力,实时获取模型生成的文本。这…

【CSS in Depth 2 精译_070】11.3 利用 OKLCH 颜色值来处理 CSS 中的颜色问题(下):从页面其他颜色衍生出新颜色

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 11 章 颜色与对比】 ✔️ 11.1 通过对比进行交流 11.1.1 模式的建立11.1.2 还原设计稿 11.2 颜色的定义 11.2.1 色域与色彩空间11.2.2 CSS 颜色表示法 11.2.2.1 RGB…

Ajax--实现检测用户名是否存在功能

目录 (一)什么是Ajax (二)同步交互与异步交互 (三)AJAX常见应用情景 (四)AJAX的优缺点 (五)使用jQuery实现AJAX 1.使用JQuery中的ajax方法实现步骤&#xf…

【PSINS】以速度和位置作为观测量(即6维观测量)的组合导航滤波,EKF实现,提供可直接运行的MATLAB代码

原有的代码是以位置作为观测量的,这里提供位置+速度,共6维的观测量,状态量还是15维不变 文章目录 源代码运行结果PS源代码 源代码如下: % 【PSINS】位置与速度为观测的153,EKF。从速度观测的EKF153改进而来 % 2024-12-11/Ver1:位置与速度为观测量% 清空工作空间,清除命…

探索云原生安全解决方案的未来

我们是否充分意识到云端所面临的网络安全威胁? 在当今互联互通的世界中,维护安全的环境至关重要。云的出现扩大了潜在威胁的范围,因为它催生了机器身份(称为非人类身份 (NHI))及其秘密。随着组织越来越多地转向云原生…

无法正常启动此程序,因为计算机丢失wlanapi.dll

wlanapi.dll丢失怎么办?有没有什么靠谱的修复wlanapi.dll方法_无法启动此程序,因为计算机中丢失wlanapi.dll-CSDN博客 wlanapi.dll是 Windows 操作系统中的一个动态链接库文件,主要与 Windows 无线 LAN (WLAN) API 相关。该DLL提供了许多必要的函数&…

ADC -DMA

文章目录 前言一、ADC配置修改二、配置DMA三、DMA中断四、完整参考代码总结 前言 提示:这里可以添加本文要记录的大概内容: 项目需要: 在原有基础上改进,采用DMA中断采集数据 提示:以下是本篇文章正文内容&#xff0…

Referer头部在网站反爬虫技术中的运用

网站数据的安全性和完整性至关重要。爬虫技术,虽然在数据收集和分析中发挥着重要作用,但也给网站管理员带来了挑战。为了保护网站数据不被恶意爬取,反爬虫技术应运而生。本文将探讨HTTP头部中的Referer字段在反爬虫技术中的应用,并…

docker搭建haproxy实现负载均衡

华子目录 获取haproxy镜像建立haproxy容器的数据卷获取haproxy的配置文件编写yaml文件运行测试 获取haproxy镜像 [rootdocker-node1 ~]# docker pull haproxy:2.3建立haproxy容器的数据卷 conf目录为数据卷 [rootdocker-node1 ~]# mkdir /var/lib/docker/volumes/conf/获取h…

阿里云数据库MongoDB版助力极致游戏高效开发

客户简介 成立于2010年的厦门极致互动网络技术股份有限公司(以下简称“公司”或“极致游戏”),是一家集网络游戏产品研发与运营为一体的重点软件企业,公司专注于面向全球用户的网络游戏研发与运营。在整个产业链中,公…

深入探索前端调试神器vConsole

深入探索前端调试神器vConsole 在前端开发过程中,调试工具的重要性不言而喻。而vConsole作为一款轻量级的、可嵌入的JavaScript调试面板,为前端开发者提供了一个便捷的调试解决方案。本文将带你深入了解vConsole的基本概念、作用,并通过丰富…