Maven - 仓库

maven 配置(远程仓库管理) 公司因为jar包管理混乱(本地缺这个缺那个的),因此建了一个私库。但是仍然很混乱,因为maven配置问题,有些组拉不下来,有些组更新完jar包版本后并没有上传至私库,找别的同事要的setting文件,要不不生效,要不乱得很,网上查的也是,多数都是乱配的(巧合式编程),只好自己看官方文档来配置了。 阅读详情

* Maven仓库?

         在项目开发中,  项目目录下往往会有一个lib目录,用来存放第三方依赖jar文件, 如spring log4j jar等文件,

         Maven仓库就是放置JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR,节省了磁盘资源,

         也节省了时间 不用拷来拷去的。

         此外,由于Maven仓库中所有的JAR都有其自己的坐标,该坐标告诉Maven它的组ID,构件ID,版本,打包方式等等,因此Maven项目可以方便的进行依赖版本管理。

         你也不在需要提交JAR文件到SCM仓库中,你可以建立一个组织层次的Maven仓库,供所有成员使用。

* 仓库分类

        

           在运行Maven的时,Maven所需要的依赖构件都是直接从本地仓库获取的,如果本地仓库有依赖构建,直接使用;

           如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

           * 本地仓库缺省地址在${user.home}/.m2/repository目录下,(例如:C:\Documents and Settings\Administrator\.m2\repository)

               自定义本地仓库位置:

                配置进入maven/conf目录 编辑settings.xml文件 修改localRepository节点

        <localRepository>D:\java\apache-maven-3.0.4\repository\</localRepository>  

           *中央仓库 是一个默认的远程仓库,  安装好Maven之后,我们可以建立一个简单的项目,配置一些简单的依赖,然后运行mvn clean install,项目就构建好了。我们没有

                              手工的去下载任何jar文件,这一切都是因为Maven中央仓库的存在,当Maven在本地仓库找不到需要的jar文件时,它会查找远程仓库,而一个原始的Maven

                              安装就自带了一个远程仓库——Maven中央仓库。 这个Maven中央仓库是在apache-maven3\lib\maven-model-builder-3.0.4.jar中定义,

                             超级POM: \org\apache\maven\project\pom-4.0.0.xml

  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>http://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

           *私服     是一种特殊的远程仓库  为了节省宽带资源和时间 应该在局域网内架设一个私有的仓库服务器,私服代理广域网上的远程仓库, 供局域网内的Maven用户使用,

                          当Maven需要下载构建的时候,先给私服仓库发出请求, 如果私服上不存在构建,则从外部的远程仓库下载,缓存到私服仓库中,再为maven的下载请求提供

                          服务。

* 远程仓库配置

1.编辑项目pom文件

  <repositories>
    <repository>
      <id>maven-net-cn</id>
      <name>Maven China Mirror</name>
      <url>http://maven.net.cn/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>maven-net-cn</id>
      <name>Maven China Mirror</name>
      <url>http://maven.net.cn/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>    
    </pluginRepository>
  </pluginRepositories>

                         repositories节点下,可以有多个repository,每个repository都有一个唯一的ID,一个name,以及最重要的,远程仓库的url。

                         此外<releases><enabled>true</enabled></releases>告诉Maven可以从这个仓库下载releases版本的构件,

                         而<snapshots><enabled>false</enabled></snapshots>告诉Maven不要从这个仓库下载snapshot版本的构件。

2.在settings.xml中配置全局的远程仓库  

                         在每个项目的pom中配置远程仓库 只是针对当前项目,  如果有10个项目  那就要配置10次  重复配置

                          可以做到只配置一次,就是在settings.xml中做全局配置

<settings>
  ...
  <profiles>
    <profile>
      <id>dev</id>
      <!-- repositories and pluginRepositories here-->
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>
  ...
</settings>

* 远程仓库认证

编辑conf/settings.xml文件

   <servers>
    <server>
      <id>和pom文件中repository->id元素相同</id>
      <privateKey>/path/to/private/key</privateKey>
      <passphrase>optional; leave empty if not used.</passphrase>
    </server>
  </servers>

                         server元素的id必须和pom中需要认证的repository元素完全一直。

 *构建部署至远程仓库

                         mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库。

                         本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。

                        配置POM的distributionManagement来指定Maven的部署位置

<project>  
  ...  
  <distributionManagement>  
    <repository>  
      <id>nexus-releases</id>  
      <name>Nexus Release Repository</name>  
      <url>http://127.0.0.1:8088/nexus/content/repositories/releases/</url>  
    </repository>  
    <snapshotRepository>  
      <id>nexus-snapshots</id>  
      <name>Nexus Snapshot Repository</name>  
      <url>http://127.0.0.1:8088/nexus/content/repositories/snapshots/</url>  
    </snapshotRepository>  
  </distributionManagement>  
  ...  
</project>  

                        Maven区别对待release版本的构件和snapshot版本的构件,snapshot为开发过程中的版本,实时,但不稳定,release版本则比较稳定。

                        Maven会根据你项目的版本来判断将构件分发到哪个仓库。

                        一般来说,分发构件到远程仓库需要认证,如果你没有配置任何认证信息,你往往会得到401错误。这个时候,如下在settings.xml中配置认证信息:

<settings>  
  ...  
  <servers>  
    <server>  
      <id>nexus-releases</id>  
      <username>username</username>  
      <password>password</password>  
    </server>  
    <server>  
      <id>nexus-snapshots</id>  
      <username>username</username>  
      <password>password</password>  
    </server>    
  </servers>  
  ...  
</settings>

* 镜像

<settings>
...
  <mirrors>
    <mirror>
      <id>maven-net-cn</id>
      <name>Maven China Mirror</name>
      <url>http://maven.net.cn/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
...
</settings>


发布Java项目到Maven中央仓库 发布本地项目到Maven中央仓库教程 阅读详情

相关推荐

国内Maven仓库镜像地址

国内Maven仓库镜像地址

ONEBEYONDFANS的博客 3254

【Maven二】——maven仓库

由于在具体项目开发过程中对于maven的理解和掌握处于基本运用的阶段,了解maven过于片面,所以本篇博客是博主学习《maven实战》书籍之后的总结,绝大多数内容源于《maven》实战这本书籍。

理想主义的花最终会盛开在浪漫主义的土壤里,我的热情永远不会熄灭在现实的平凡之中,我们终将上岸,阳光万里。 2万+

Maven仓库安装以及IDEA配置Maven仓库

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

一介布衣Jacob的博客 2663

Maven仓库配置中央仓库

1.什么是maven仓库 Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径。得益于 Maven 的坐标机制,任何 Maven 项目使用任何一个构件的方式都是完全相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位置就是仓库,项目构...

赵广陆 2万+

Maven 仓库的分类

Maven 是一个广泛使用的项目构建和依赖管理工具,在 Java 开发生态中占据重要地位。作为 Maven 的核心概念之一,仓库(Repository)扮演着至关重要的角色,用于存储项目的依赖、插件以及构建所需的各种资源。了解 Maven 仓库的分类和用途,不仅能够帮助开发者有效管理项目依赖,还能提升构建过程的稳定性与效率。本章将系统介绍 Maven 仓库的分类,包括本地仓库、远程仓库和中央仓库,以及它们之间的协作关系。这为您在实际开发中优化依赖管理策略、提高开发效率提供坚实的理论基础。

栗筝i的博客 1773

anaconda安装-超详细版

文章目录一、anaconda安装1.1 anaconda安装地址1.2 安装详细步骤检验安装是否成功更改conda源(后续安装第三方库可以加快速度) 一、anaconda安装 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。装anaconda,就不需要单独装python了。 anaconda优点: 1、anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而p

in546的博客 25万+

Maven 仓库

在 Maven 的术语中,仓库是一个位置(place)。Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。

2477

硬件手册——PT100精密测温电路

PT100精密测温电路 一、需求分析 根据题目要求为:测温范围为0-100℃、测温精度要求为±1℃。由于铂电阻具有精度高、性能可靠、稳定性好的特点,且铂电阻的电阻相对变化率与温度的关系曲线线性度最好,故选择铂电阻作为敏感元件。而在国标中,铂电阻有几种不同的标准,如PT100、PT1000。分别对应着0摄氏度下铂电阻的阻值为100R和1000R,由于需要考虑铂电阻的自发热问题,所以尽量选择阻值小的铂电阻,故选择PT100为最终型号。 二、电路设计 2.1 热电阻接法 热电阻测温电路有多种接法,其中三线制会导致

weixin_41655430的博客 5万+

Maven配置仓库

本地仓库:就像你自己的书库。当你使用 Maven 下载依赖项时,它们会被保存在你电脑上的一个特定目录中,以后可以重复使用。这个本地仓库存储了项目所需的库文件和插件,使得构建过程更快速,因为不需要每次都从互联网下载。中央仓库:类似于一个全球共享的图书馆。中央仓库是 Maven 社区维护的一个公共存储库,其中包含了大量的开源库文件和插件。当你在 Maven 项目中声明依赖项时,如果没有指定其他远程仓库,Maven 会自动从中央仓库下载所需的依赖项。

云域A的博客 1万+

跨境电商ERP开发之Shopee开发者账号申请

引言:由于电子信息技术和经济全球化的进一步发展,电子商务在国际贸易中的影响力和关键作用日渐突显,已变成中国出口贸易的市场趋势。跨境电商未来的发展前景必定是有助于减少经济成本、推动全球贸易便利化,有助于提高国内群众福祉,有助于打造良好的营商环境,从而推动经济长期健康发展。 gitee仓库地址: https://gitee.com/naturalwish/SSERP/tree/master 以下授权教学同ShopeeOpen Platform - Developer Guide 申请流程 ..

naturalwish的专栏 3640

Python连接StarRocks全流程实践: SQL文件调用与Pandas混合优化

通过这种分阶段混合计算, 既能发挥StarRocks处理海量数据的性能优势, 又能保留Pandas在内存计算中的灵活性, 实现效率与功能的完美平衡.结合SQL的高效聚合与Pandas的灵活计算, 实现查询和数据处理的深度融合.该库基于SQLAlchemy 2.x开发, 仅支持Python 3.x环境.对大批量数据的写入, 建议进行分块. 分块写入较单条插入速度会有显著提升.这样可以避免python代码的查询与SQL耦合, 支持版本化管理.将DDL, DML分离为独立文件, 例如。: 调整连接复用参数。

t.y.Tang的博客 2780

Maven——仓库

Maven仓库布局、Maven仓库分类、远程仓库配置、快照版本、从仓库解析依赖的机制、镜像、仓库搜索服务

码说芯语的博客 4380

ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

所提供的图像具有高动态范围,事先进行了光度标定,用20Hz的帧率采集,分辨率为1024像素*1024像素;需要下载数据集dataset-room1_512_16和rgbd_dataset_freiburg1_desk。在一键安装ROS后,只需要再安装Pangolin即可,其他所有的需要都已经存在。用微型飞行器采集的视觉惯性数据集,包含双目相机和IMU同步测量数据及位姿的真值。第二条命令中的${ROS_PACKAGE_PATH}是自己文件的路径。其采用的相机和IMU传感器,在硬件上进行了时间同步。

琉璃轻纱的博客 1万+

Maven仓库

在maven中,任何一个依赖、插件或者项目构建的输出,都可以称为构件。maven仓库就是用于统一管理这些构件的储存位置。通过坐标机制,maven可以精确地定位和管理这些构件。

2301_80076758的博客 1675

【知识分享】高速印刷电路板(PCB)寄生参数计算指南

对于高速PCB设计而言,寄生参数一直是令人讨厌的问题,它们会悄悄潜入PCB并在电路中造成严重的破坏,具体来说,它们是渗透到高速电路中的隐藏杂散电容器和电感器,包括由封装引线和长走线形成的电感器、PCB焊盘对金属平面形成的电容器、走线之间形成的电容器等等。

一只豌豆象的博客 1780

Tmux学习总结

Tmux 重要概念 使用 Tmux 的时候千万不要去背指令,所有的指令都可以在 .tmux.conf 配置文件中绑定自己顺手的快捷键,也可以配置开启鼠标。 这个是我的配置文件:https://github.com/zuorn/tmux.conf 在Tmux逻辑中,需要分清楚Server > Session > Window > Pane这个大小和层级顺序是极其重要的,直接关系到工作效率: Server:是整个tmux的后台服务。有时候更改配置不生效,就要使用tmux kill-

满目星辰 579

maven仓库简介

1仓库结构图以下篇幅从下往上讲起2本地仓库本地仓库默认是用户目录下的\.m2\repository,用户级的配置文件settings.xml也放在这里。但用户目录下载C盘,C盘一般都只跑个操作系统,个人仓库随着项目的积累会很大,放在C盘比较占用C盘空间,如果需要更改本地仓库的放置目录的话,需要修改settings.xml文件小贴士:那么在此插一个eclipse maven插件的小技巧,maven插

独自登高楼 望断天涯路 7792

RAG效果调优清单(命中率提升3倍)

本文提出了一套工程可落地的RAG(检索增强生成)模型组合方案,强调通过最优组合实现效果、成本和扩展性的平衡。核心架构包括Embedding模型、向量数据库检索、Rerank模型和LLM生成四个环节,推荐了四种具体组合方案:本地最优性价比(bge+reranker+Qwen 7B)、效果优先(bge-large+reranker+14B模型)、高并发(轻量模型+vLLM)和中英混合(多语言模型)。文章指出Embedding决定检索下限,Rerank提升准确率上限,LLM影响最终体验,并提供了不同场景的优化策略

刘一说的IT专栏 522

Maven仓库介绍

介绍了Maven仓库的基本概念。

凉茶铺的博客 3万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

maven仓库

Maven仓库配置摘要 Maven仓库分为本地仓库(默认路径~/.m2/repository)和远程仓库(包括中央仓库和其他私服仓库)。仓库配置方式主要有三种: settings.xml:可配置本地仓库路径(<localRepository>)和远程仓库(需在<profiles>内定义<repositories>和<pluginRepositories>) pom.xml:可直接在项目中配置<repositories>和<pluginRepo

m0_73520938的博客 784

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Maven 仓库配置

本文系统介绍了Maven中仓库与镜像的配置方法。仓库分为本地仓库和远程仓库(中央仓库、三方仓库、私有仓库),可通过pom.xml或settings.xml进行多仓库配置。镜像用于替代远程仓库,通过mirrorOf属性指定替代范围。文章详细阐述了多仓库与多镜像的配置原则、优先级规则及协同工作流程,帮助开发者解决依赖来源多样性问题,提高下载效率。配置时需注意仓库ID唯一性、release/snapshot版本控制以及镜像匹配顺序等关键点。

麦克马的博客 1687

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

认识maven仓库 配置仓库

文章目录在配置仓库之前,先将maven路径放进path变量仓库类型配置本地仓库配置中央仓库(国内建议设置阿里云maven仓库)步骤1 在配置仓库之前,先将maven路径放进path变量 仓库类型 本地仓库 中央仓库 远程仓库 配置本地仓库 设置本地仓库:maven根目录–>conf–>settings.xml,将localRepository标签中路径替换成自己本地仓库的路径 配置中央仓库(国内建议设置阿里云maven仓库) 步骤1 步骤一:在settings.xml中的mirrors标签

qq_42418169的博客 336

Maven之本地仓库,远程仓库

在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方) 任何一个构件都有一个坐标作为唯一的标识。 这个坐标就是:group、artifactId、version;根据这个坐标就可以定义其在仓库的唯一存储路径,那么就可以在项目中引用。 解读Mav

E=mc² 1157
上一篇: 扩展CXF, 支持LoadBalance负载均衡
下一篇: 一些软件设计的原则
胸口碎大石_
博客等级 码龄17年 1154粉丝 82原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值