java Maven 的理解

news2024/10/5 13:55:41

一、maven项目产生的原因

当开发两个Java项目,姑且把它们称为A、B,其中A项目中的一些功能依赖于B项目中的某些类,那么如何维系这种依赖关系的呢?

答:可以将B项目打成jar包,然后在A项目的Library下导入B的jar文件,这样A项目就可以调用B项目中的某些类。

但会出现如下问题:

(1)在开发过程中,发现B中的bug,则必须将B项目修改好,并重新将B打包并对A项目进行重编译操作(这样做想想就麻烦

(2)之后在完成项目A后,为了保持A的正常使用。

第一种,选择将B打包入A中(造成资源的浪费

第二种,将B也发布出去,等别人需要用A时,告诉开发者,想要用A就必须要导入B 的 jar包,这样就要找B的jar包,如果需要导入十几个jar包,那么手动打jar包、找jar包就非常繁琐

=》而maven就是为了简化这个过程而出现的

二、maven是什么

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
 

跑过maven项目的人都知道,我们是靠pom.xml来获取Jar包的。

那么为什么我能通过groupId、artifactId、version三个属性就能定位一个jar包 ?

 通过pom.xml的这三个属性,就能生成readAppJava-0.0.1-SNAPSHOT.jar,这样如果上传到maven中央仓库别人就能使用这个项目的jar包。这也就是为什么我们能在maven仓库获得别人的jar包。

三、安装maven

具体过程我就省略,直接看看maven的具体目录

四、maven仓库

一共有三种仓库分别是:本地仓库、第三方仓库、中央仓库

1. 本地仓库:在settings.xml文件,可以配置路径

<localRepository>D:/Environment/apache-maven-3.6.3/maven_localRepository</localRepository>

 2. 第三方仓库

一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率

3. 中央仓库

Maven内置了远程公用仓库:http://repo1.maven.org/maven2

这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主

工程依赖的jar包如果本地仓库没有,默认从中央仓库下载

总结:获取jar包的过程

五、使用maven仓库

暂时没想好怎么写 

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

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

相关文章

保姆级教程|昨晚撸了一个ChatGPT群聊机器人

前言 近期ChatGPT可以说是太火了&#xff0c;问答、写论文、写诗、写代码&#xff0c;只要输入精确的prompt&#xff0c;他的表现总是让人惊喜。本着打不过就加入的原则。要是把ChatGPT拉入群聊中&#xff0c;会是怎样一番场景&#xff1f;说做就做&#xff0c;花了1个晚上捣鼓…

ChatGPT与文心一言对比思考

ChatGPT与文心一言对比思考 1. 目前在国内比较广泛被认知的ai模型有什么 我目前通过各种渠道注册到的账号有3个,按照了解到然后注册的顺序分别是 ChatGPTnewbing文心一言 3种ai的注册渠道 ChatGPT注册: 科学上网注册寻找外网手机号发送短信 newbing注册: 科学上网注册微软账…

政企数智办公巡展回顾 | 通信赋能传统行业数智化转型的应用实践

在宏观政策引导、技术革新与企业内部数字化改革需求的共同驱使下&#xff0c;数智办公已经成为各行各业转型升级的必由之路。关注【融云 RongCloud】&#xff0c;了解协同办公平台更多干货。 近期&#xff0c;“连接无界 智赋未来” 融云 2023 政企数智办公巡展在北京、杭州相…

【Java】EnumSet的使用

一、什么是EnumSet? EnumSet是用于枚举类的专用Set集合。 它实现了Set接口并且继承AbstractSet。 当计划使用EnumSet时,必须考虑以下几点: 1、它只能包含枚举值,并且所有值必须属于同一个枚举。 2、它不允许添加 null,在尝试这样做时会抛出NullPointerException。 3、它不…

【SpringCloud AlibabaSentinel实现熔断与限流】

本笔记内容为尚硅谷SpringCloud AlibabaSentinel部分 目录 一、Sentinel 1、官网 2、Sentinel是什么 3、下载 4、特性 5、使用 二、安装Sentinel控制台 1、sentinel组件由2部分构成 2、安装步骤 1.下载 2.运行命令 3.访问sentinel管理界面 三、初始化演示工程 …

KVM虚拟机的磁盘无损扩容方法-qcow2格式的

起因&#xff1a;我的KVM主机上安装了基于Debian11的 虚拟机母鸡&#xff0c;其他虚拟机都由此克隆而来。因为最初只配置了8G的虚拟硬盘&#xff0c;因此在需要占用比较大的空间的应用时&#xff0c;就比较麻烦。度娘等中文搜索结果没找到答案&#xff0c;只能google了。 这里…

JVM系统优化实践(16):线上GC案例(一)

您好&#xff0c;我是湘王&#xff0c;这是我的CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 列举几个实际使用案例说一下GC的问题。一个高峰期每秒10万QPS的社交APP&#xff0c;个人主页模块是流量最大的那个&#xff0c;而一次个人主页的查询&#xff0c…

python文本自动伪原创-ai一键伪原创

chatgpt批量伪原创的优势 ChatGPT是一个由OpenAI开发的强大的自然语言处理模型&#xff0c;它具有批量伪原创的优势&#xff0c;以下是这些优势&#xff1a; 模型能够处理大量的数据&#xff1a;ChatGPT通过训练大规模的语言模型来生成伪原创文本。这个模型拥有一个庞大的语料…

MySQL:varchar与date类型互转,对接java数据类型String和Date

目录 问题现象&#xff1a; 问题分析&#xff1a; varchar 转 date &#xff1a; date 转 varchar&#xff1a; 解决方法&#xff1a; varchar 转 date &#xff1a; date 转 varchar&#xff1a; 问题现象&#xff1a; 今天在项目中遇到一个问题&#xff1a; 现象&…

将DataTable中的数据保存到Excel (二) 使用NPOI

文章目录 背景1 NPOI 简介2 使用NPOI2.1 创建一个简单的工作簿2.2 简单的读取内容2.3 将DataTable数据导出到Excel(NPOI)2.4 Excel(NPOI)导入到DataTable 3 NPOI 总结 背景 前面写过一篇DataTable导出到Excel的文章&#xff0c;使用的是Office COM组件进行导入导出&#xff0c…

第五章 法律规范

目录 第一节 法律规则 一、法律规范与法律规则的概念辨析二、法律规则的逻辑结构 &#xff08;一&#xff09;假定&#xff1a;&#xff08;二&#xff09;行为模式&#xff1a;&#xff08;三&#xff09;法律后果&#xff1a; 三、法律规则与法律条文的关系 &#xff08;想法…

【vue2】使用vue-admin-template动态添加路由的思路/addRoutes的使用

&#x1f609;博主&#xff1a;初映CY的前说(前端领域) ,&#x1f4d2;本文核心&#xff1a;用原生js实现省市区联动 【前言】在通用的后台管理项目的开发中&#xff0c;不仅仅是会涉及到对表单数据等的增删改查操作还会涉及到一些关于权限管理的问题。我们将基于一个RBAC的思维…

FPGA设计实战演练.高级技巧篇-----读书笔记

第一章 从PCB开始研究FPGA设计问题 一、PCB布线 1、要求 对所有器件进行电源滤波&#xff0c;均匀分配电源&#xff0c;降低系统噪声。 匹配信号线&#xff0c;减小信号反射。 降低并行走线之间的串扰。 减小地反弹效应。 进行阻抗匹配。 2、微带传输布局&#xff0c;走…

全景丨0基础学习VR全景制作,平台篇第六章:全局功能-开场提示

大家好欢迎观看蛙色平台使用教程 编辑器功能位置 1、功能说明 开场提示是指VR漫游作品加载好以后&#xff0c;进入到全景里面时&#xff0c;优先展示的图像。 PC端/移动端&#xff0c;均可设置起到指引用户的作用。 2、功能要用在哪&#xff1f; &#xff08;1&#xff09;场…

无人机影像处理流程

无人机由于其方便快捷&#xff0c;精度高等特点已经广泛应用于农田尺度的作物生长监测。尤其是近年来大疆推出了两个多光谱无人机&#xff0c;价格也相较便宜。但目前无人机的使用实际上需要进一步处理才能获取得到农田的基本信息&#xff0c;主要包括影像的校正和图像拼接&…

FME教程:GIS建筑面转CAD格式JMD,还原房屋建筑结构、层数、地物样式,shp转CAD,GIS转dwg

GIS数据转CAD数据&#xff0c;是经常遇到的需求&#xff0c;但是CAD数据形式与GIS相差甚远&#xff0c;因此GIS转CAD后&#xff0c;要还原图形样式和地物属性便成为了一个难点。 今天介绍使用FME进行shp格式房屋面数据转dwg格式的JMD图层的方法。实现房屋的地物样式、结构、层…

Android studio Activity启动模式

1.四种启动模式&#xff1a; 1&#xff09;.standard&#xff08;标准模式&#xff09; 特点&#xff1a;1.Activity的默认启动模式 2.每启动一个Activity就会在栈顶创建一个新的实例。例如&#xff1a;闹钟程序 缺点&#xff1a;当Activity已经位于栈顶时…

C#模拟实现输出进销存管理系统中的每月销售明细(实验五)

实验五&#xff1a;模拟实现输出进销存管理系统中的每月销售明细 任务要求&#xff1a; 运行程序&#xff0c;输入要查询的月份&#xff0c;如果输入的月份正确&#xff0c;则显示本月商品销售明细&#xff1b;如果输入的月份不存在&#xff0c;则提示“该月没有销售数据或者…

什么是企业数智化的创新加速器?

数智商业创新&#xff0c;使得企业的发展模式有了一个更大的跃升。在数智化转型热潮中&#xff0c;打造数据驱动的智慧企业&#xff0c;实现商业创新与转型升级&#xff0c;构建企业新的竞争优势成为这一阶段企业管理者的核心诉求。围绕这一核心诉求&#xff0c;企业关键要考虑…

javascript通过canvas实现不同时区的时钟绘制

这里使用Javascript的class和canvas技术实现时钟的绘制&#xff0c;并且通过类实例来实现不同时区的时间显示&#xff0c;增强复用性。 如下图&#xff1a; 一、基本知识 在绘制前&#xff0c;我们先熟悉下本次使用到的Canvas相关基础知识&#xff0c;以便后面更好理解并使用。…