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

2024最新 maven 高级用法 (概念自己百度)

#B站看视频学不到的知识#

目录

maven 定义和概念

  maven是java构建工具。maven通过远程仓库获取和更新jar包,通过坐标来管理jar文件。

maven核心配置文件

 config目录下settings.xml 文件,核心配置详解:

localRepository  本地仓库地址:

repositories  远程仓库地址()

servers  用来配置远程仓库的登录信息

mirrors 镜像

profiles 节点(通过不同节点配置不同环境 比如 dev sit prod)

idea工具集成maven

dependency 依赖错误的问题:

先看本地仓库有没有对应的jar文件,

maven加载包的顺序:

        先根据左边去本地仓仓库找,坐标文件夹不存在会自动创建。

 本地找不到的情况下回去远程仓库找。

远程仓库找不到的情况下会出现两个 .lastUpdated 文件。

重点,重点,重点: 仓库地址没错,尝试多次任无法下载的时候,需要把.lastUpdated 删掉再进行下载。

这里备上快速删除仓库下所有.lastUpdated 文件的脚本:

chcp 65001
@echo off
set REPOSITORY_PATH=E:\maven\repository
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (del /s /q %%i
)
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\aether-*-in-progress"') do (del /s /q %%i
)
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\_remote.repositories"') do (del /s /q %%i
)
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\_maven.repositories"') do (del /s /q %%i
)
pause

maven依赖传递

maven远程仓库和私服

        常见的远程/中央仓库:

        maven官方仓库

  1. http://mvnrepository.com/

  2. 3. http://repo1.maven.org/maven2

     阿里云仓库:云效-Maven公共仓库

        https://maven.aliyun.com/nexus/content/groups/public

私服就是自己搭一个仓库服务 nexus。

jar包定义的一些规范:

2.1 groupId命名规范

含义解读:groupId定义了项目所在的组,组通常和该项目所在的公司和组织有关。

格式规范:
格式一:域名.项目隶属的组织名(公司名)
格式二:域名.项目隶属的组织名(公司名).项目名称(部门名)

2.2 artifactId命名规范


含义解读:artifactId用来标识项目的名称,不要带version等无关信息。
格式规范:使用小写字母准确描述,单词之间可以-进行分割。
命名示例:apache公司的tomcat项目中,artifactId是tomcat;再如常用构件spring-beans。


2.3 version命名规范


含义解读:项目当前的版本。
格式规范:建议jar包版本采用三位数字来标识,即主版本号.次版本号.修订号——major.minor.revison 。

注意事项:

  • 每位从0依次到 99,尽量不要跳跃,数字不可超过 99。
  • 项目初始版本可以为 0.1.0,也可以为1.0.0,开发人员可灵活处理。比如“1.0.0-SNAPSHOT”,其中SNAPSHOT的意思是”快照”,说明该项目处于开发中,是不稳定的版本。

2.4发布规范


线下环境发布jar包要使用SNAPSHOT版本(便于修改),线上必须用release版本。 若正式环境中允许依赖snapshot版本。今天依赖某个snapshot版本的第三方库成功构建了,明天再构建时可能就会失败,因为第三方可能已经更新了它的snapshot库。再次构建时,Maven会去远程repository下载snapshot的最新版本,构建的成功性就很难保证了。
SNAPSHOT版本可以由开发分支发布,release版本必须由指定的分支发布(比如master分支)。
release版本不允许覆盖升级。如当前版本:1.1.3,必须升级到下一个合理的版本号:1.1.4 或 1.2.0 或 2.0.0才能发布成功。
本地仅可install jar包到本地仓库,禁止deploy jar包到远程仓库;远程仓库必须通过公司指定的平台才可以发布。这样的规定能带来很多益处。首先,可避免没有提交的代码被打包到远程仓库;其次,通过平台可以在发布jar包的过程中对代码进行扫描、发布成功后发布通知等,这些功能在本地环境是无法实现的。
环境隔离。线上私服和线下私服隔离;线下不同的环境对应的私服也要隔离;环境隔离可避免不同环境之间的jar包互相影响,有利于并行开发和并行测试;通常私服之间可能存在代理关系,当对应的私服拉取不到相关依赖时会从代理出进行拉取;代理关系可提升依赖查找的成功率,但也会使开发环境变的复杂;
发布后维护版本更新历史(ChangeLog或release notes),维护的主要内容有:版本说明、概要,版本的主要Changes,修复的Issues/Bugs,发布时间等。

相关文章:

2024最新 maven 高级用法 (概念自己百度)

#B站看视频学不到的知识# 目录 maven 定义和概念 maven是java构建工具。maven通过远程仓库获取和更新jar包,通过坐标来管理jar文件。 maven核心配置文件 config目录下settings.xml 文件,核心配置详解: localRepository 本地仓库地址&…...

【C++】每日一题 12 整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为…...

C++学习建议

C是一门强大且广泛应用的编程语言,特别适合系统级开发、高性能应用和游戏引擎等场景。如果你准备深入学习C,以下是一些关键点和学习路径建议: 1. **基础语法**:首先掌握C的基础语法,如变量声明与赋值、数据类型、运算…...

python实现泊松回归

1 什么是基于计数的数据? 基于计数的数据包含以特定速率发生的事件。发生率可能会随着时间的推移或从一次观察到下一次观察而发生变化。以下是基于计数的数据的一些示例: 每小时穿过十字路口的车辆数量每月去看医生的人数每月发现的类地行星数量 计数数…...

软件测试-进阶篇

目录 测试的分类1 按测试对象划分1.1 界面测试1.2 可靠性测试1.3 容错性测试1.4 文档测试1.5 兼容性测试1.6 易用性测试1.7 安装卸载测试1.8 安装测试1.9 性能测试1.10 内存泄漏测试 2 按是否查看代码划分2.1 黑盒测试(Black-box Testing)2.2 白盒测试&a…...

Google人才选拔的独特视角

Google人才选拔的独特视角 独特的人才选拔标准 Google作为全球最大的搜索引擎公司,拥有无数优秀的人才。他们的选拔标准与众不同,有着自己独特的人才观。 重视多元化的背景 Google相信人才的多元化背景能够给公司带来不同的思考角度和创新思维。他们…...

OSPF---开放式最短路径优先协议

1. OSPF描述 OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU报文描述,通过可靠的泛洪与自治系统AS内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路…...

云数据仓库Snowflake论文完整版解读

本文是对于Snowflake论文的一个完整版解读,对于从事大数据数据仓库开发,数据湖开发的读者来说,这是一篇必须要详细了解和阅读的内容,通过全文你会发现整个数据湖设计的起初原因以及从各个维度(架构设计、存算分离、弹性…...

Redis中是如何初始化服务器的?

初始化服务器 一个Redis服务器从启动到能够接受客户端的命令请求,需要经过一系列的初始化和设置过程,比如初始化服务器状态,接受用户指定的服务器配置,创建相应的数据结构和网络连接等等 初始化服务器状态结构 初始化服务器的第…...

深度学习训练过程中,常见的关键参数和概念讲解

深度学习训练过程中的关键参数和概念对于构建、理解和优化模型至关重要。以下是一些最常见的参数和概念,以及它们的简要解释: 1. 学习率(Learning Rate) 学习率是优化算法中最重要的参数之一,它控制着权重调整的幅度…...

如何提高小红书笔记的收录率?

在小红书平台上,笔记的收录率是衡量一篇笔记是否受欢迎和有价值的重要因素。为了提高笔记的收录率,有几个关键点需要注意: 1.内容不涉及广告 在发布笔记前要先确保笔记内容不包含任何形式的广告或推广信息。小红书平台对于广告性质的内容有…...

思通数科:利用开源AI能力引擎平台打造企业智能搜索系统

在信息爆炸的时代,如何高效地管理和检索海量数据已成为企业和个人面临的一大挑战。思通数科 StoneDT 多模态AI能力引擎平台,以其强大的自然语言处理(NLP)、OCR识别、图像识别和文本抽取技术,为用户带来了前所未有的智能…...

Nginx配置其实很简单

Nginx配置其实很简单 不管作为前端还是后端,我们工作中或多或少得接触反向代理,比如代理静态页面或者文件、代理接口解决跨域、配置https、配置缓存和负载等等。而这些需求的实现,我们肯定能接触到Nginx,即使我们使用Caddy等等其它代理方式,但也肯定知道Nginx的存在。如果…...

Redis中的serverCron函数(一)

serverCron函数 Redis服务器中的serverCron函数默认每隔100毫秒执行一次,这个函数负责管理服务器的资源,并保持服务器自身的良好运转。 更新服务器时间缓存 Redis服务器中有不少功能需要获取系统的当前时间,而每次获取系统的当前时间都需要…...

python保存中间变量(学习笔记)

python保存中间变量 原因: 最近在部署dust3r算法,虽然在本地部署了,也能测试出一定的结果,但是发现无法跑很多图片,为了能够测试多张图片跑出来的模型,于是就在打算在autodl上部署算法,但是由…...

CTF wed安全(攻防世界)练习题

一、Training-WWW-Robots 进入网站如图: 翻译:在这个小小的挑战训练中,你将学习Robots exclusion standard。网络爬虫使用robots.txt文件来检查它们是否被允许抓取和索引您的网站或只是其中的一部分。 有时这些文件会暴露目录结构&#xff0c…...

计算机网络链路层

数据链路 链路是从一个节点到相邻节点之间的物理线路(有线或无线) 数据链路是指把实现协议的软件和硬件加到对应链路上。帧是点对点信道的数据链路层的协议数据单元。 点对点信道 通信的主要步骤: 节点a的数据链路层将网络层交下来的包添…...

VUE3——reactive对比ref

从定义数据角度对比: 。ref用来定义:基本类型数据 。reactive用来定义:对象(或数组)类型数据。 。备注:ref也可以用来定义对象(或数组)类型数据,它内部会自动通过 reactive 转为代理对象。 从原理角度对比: 。ref通过 object.defineProperty()的 get 与set 来实现响应式(数据劫…...

广场舞团系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. 系…...

经典永不过时 Wordpress模板主题

经得住时间考验的模板,才是经典模板,带得来客户的网站,才叫NB网站。 https://www.jianzhanpress.com/?p2484...

结构函数:电子封装热分析的关键技术解析

1. 结构函数:热分析领域的核心桥梁在电子封装设计与散热方案开发中,热特性分析一直是个令人头疼的问题。想象一下,你手里拿着一块正在发烫的芯片,却无法直接"看到"热量是如何在内部传递的——这就像医生无法用X光检查病…...

基于GitHub Actions的AI智能体exoclaw-github部署与实战指南

1. 项目概述:在GitHub里养一只会看代码的“螃蟹” 如果你在GitHub上管理一个开源项目,肯定遇到过这样的场景:新开的Issue描述不清,你得花时间追问细节;PR提交上来,你需要逐行审阅代码,思考哪里…...

如何使用Gulf of Mexico构建虚拟世界:元宇宙开发的终极指南

如何使用Gulf of Mexico构建虚拟世界:元宇宙开发的终极指南 【免费下载链接】GulfOfMexico perfect programming language 项目地址: https://gitcode.com/GitHub_Trending/dr/GulfOfMexico Gulf of Mexico(前身为DreamBerd)是一款被称…...

基于Jina Reader与Exa API的免费网页抓取与搜索工具实践

1. 项目概述:一个轻量级的网络信息抓取与处理工具最近在折腾一些自动化信息处理的项目,发现很多时候需要从网上快速抓取内容或者进行关键词搜索,然后对结果进行结构化处理。市面上的工具要么太重,要么收费,要么就是API…...

AI编程助手集成DRPC技能包:无缝查询区块链数据的实践指南

1. 项目概述:为AI编程助手解锁区块链数据能力 如果你正在使用Claude Code、Cursor这类AI编程助手,并且需要频繁查询区块链上的数据——比如检查钱包余额、追踪交易状态、读取智能合约信息,那么你很可能已经厌倦了在代码编辑器和区块链浏览器之…...

【CPO三维路径规划】豪猪算法CPO多无人机协同集群避障路径规划(目标函数:最低成本:路径、高度、威胁、转角)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

独立开发者利用Taotoken统一API开发跨模型内容生成应用案例

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者利用Taotoken统一API开发跨模型内容生成应用案例 应用场景类,一位独立开发者希望构建一个能同时调用多种大模…...

告别轮询与中断:用HC32F4A0的AOS+DMA实现多通道ADC的“无感”采集

HC32F4A0的AOSDMA架构:构建零CPU干预的多通道ADC采集系统 在嵌入式数据采集领域,实时性与低功耗始终是工程师需要平衡的核心矛盾。传统基于轮询或中断的ADC采集方案往往面临两大困境:要么因频繁查询浪费CPU资源,要么因中断响应延迟…...

新手避坑指南:ICC LAB2 Design Planning 从加载设计到写出DEF的完整流程复盘

ICC LAB2 Design Planning全流程深度解析:从数据加载到DEF输出的实战避坑指南 当你第一次打开ICC工具面对LAB2的Design Planning任务时,是否感觉像被扔进了一个满是按钮的控制室?每个命令似乎都重要,但又不清楚它们如何串联成完整…...

从被看不起到被追更:《凰标》的逆袭就是行业缩影@凤凰标志

——《凰标》如何一刀劈开文娱偏见无资本即为小众,无热度即为劣质,无流量即为无用。 这条铁律,曾压弯无数民间创作者的笔。一、被看不起的开局:民间创作的“三无原罪”行业默认《凰标》现实顶级 IP 加持零 IP,纯原创豪…...