百度
360搜索
搜狗搜索

maven仓库类型,maven repository怎么理解详细介绍

本文目录一览: maven上传步骤可以选择哪些类型的制品库作为依赖库

本地仓库,中央仓库。1、本地仓库:本地仓库是Maven自带的一个仓库,用于存储本机已经下载的依赖库。2、中央仓库:中央仓库是Maven官方维护的一个仓库,存储了大量的开源Java项目和依赖库,是Maven构建项目时默认的依赖库。

配置maven使用nexus报这个错误该怎么解决

般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。
hosted 类型的仓库,内部项目的发布仓库
releases 内部的模块中release模块的发布仓库
snapshots 发布内部的SNAPSHOT模块的仓库
3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
proxy 类型的仓库,从远程中央仓库中寻找数据的仓库
group 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库
maven项目索引
下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能
保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如spring-core

maven repository怎么理解

简单点来说,repository就是个仓库。
maven里有两种仓库,本地仓库和远程仓库。远程仓库相当于公共的仓库,大家都能看到。
本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用。
当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。如果有则直接返回,否则会向远程仓库请求,并做缓存。

maven中snapshot快照库和release发布库的区别和作用

在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升级组件的版本号,可这样就明显不符合要求和实际情况了。但是,如果是基于快照版本,那么问题就自热而然的解决了,而maven已经为我们准备好了这一切。
maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),如下:

cc.mzone

m1

0.1-SNAPSHOT

jar

maven2会根据模块的版本号(pom文件中的version)中是否带有-SNAPSHOT来判断是快照版本还是正式版本。如果是快照版本,那么在mvn deploy时会自动发布到快照版本库中,而使用快照版本的模块,在不更改版本号的情况下,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本。如果是正式发布版本,那么在mvn deploy时会自动发布到正式版本库中,而使用正式版本的模块,在不更改版本号的情况下,编译打包时如果本地已经存在该版本的模块则不会主动去镜像服务器上下载。

所以,我们在开发阶段,可以将公用库的版本设置为快照版本,而被依赖组件则引用快照版本进行开发,在公用库的快照版本更新后,我们也不需要修改pom文件提示版本号来下载新的版本,直接mvn执行相关编译、打包命令即可重新下载最新的快照库了,从而也方便了我们进行开发。

如何搭建maven远程中央仓库

1.首先,配置好Maven,jdk等必备环境
2.配置好环境后,下载最新版本的nexus
下载地址:http://www.sonatype.org/nexus/go
3.打开目录nexus-***\bin\jsw
这个文件夹下面有适配各种平台的nexus服务配置工具。
大家可以根据自己的需要选择对应的版本,我用的是windows-x86-64版本的。
打开一个windows的版本你会看到如下几个文件:
如果要将nexus安装成windows服务,就点击install-nexus.bat这个文件,安装完成后,打开浏览器,访问http://localhost:8081/nexus/ 启动后如下页面,在右上角有个Log in 的超链接,点击登录
默认的用户名是 admin 密码是 admin123
登录后你可以在左侧修改登录信息:
接下来进入正题,仓库配置在左侧Repositories中
点击后会看到nexus提供的所有仓库类型,其中主要用的的就是3rd party、Snapshots、Releases这三个,分别作为第三方仓库,项目的快照仓库和项目的发布仓库.
这里以3rd party仓库为例,为大家演示如何上传jar包,方法很简单,选中3rd party仓库后选择Artifact
Upload标签,填好要上传包的groupID,ArtifactID,Version等信息后,点击下方upload按钮上传jar包即可。
上传之后可以在Browse Index中查看上传结果
完成了上传操作后,在我们本地构建过程中,打开Maven工程中的pom.xml文件,将repository标签中的信息配置为此远程私仓的信息,填好对应的dependency信息,即可完成本地构建从远程私仓中调用依赖的需求。
上面一系列眼花缭乱的操作看明白了么,如果没看明白接下来让我给你介绍个无比简单的解决方案—华为软件开发云 发布仓库!
发布服务提供的Maven仓库有release(发布仓),snapshot(快照仓),Mirror(中央仓镜像库),编译构建仓四种类型,其中release和snapshot属于租户级私有仓,用户归档用户内部软件组件的发布版本和快照版本,并支持通过Maven配置进行租户内依赖共享;Mirror仓主要代理并镜像缓存了grails-core、maven2、jcenter、grails-plugins四个中央仓的开源第三方组件,可作为租户内第三方私服仓库使用,提升依赖组件下载效率;编译构建仓是租户项目级私有仓,主要用于归档项目内构建出来的软件组件。
使用方法和远程私仓使用方法完全一样,但是省却大家所有自己搭建和维护远程私仓的工作和资源,即开即用,节省人力物力,提高开发效率。

为什么执行maven命令时,会首先链接远程仓库呢

在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。
Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)
任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,
解读Maven在仓库中的存储路径:
1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 "." 转换成 "/" ; example: org.testng --->org/testng
2.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng
3.使用version准备路径,将version连接到后面:org/testng/testng/5.8
4.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8
5.判断如果构件有classifier,就要在 第4项 后增加 分隔符连字号 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5
6.检查构件的extension,如果extension存在,则加上句点分隔符和extension,而extension是由packing决定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar
到这里我们就明白了Maven 对于构件存储的细节。
Maven 仓库的分类:
maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库
1.本地仓库,顾名思义,就是Maven在本地存储构件的地方。
注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建
maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置
如何更改maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于maven的settings.xml文件中
1.1 更改配置用户范围的本地仓库:先在/.m2/目录下创建settings.xml文件,然后在~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址

Maven依赖的是本地工程还是仓库jar包

相信大家都碰见过maven配置的依赖或者是jar包或者是工程,在开发的过程当中,我们当然需要引入的是工程,这样查看maven依赖的文件的时候,就能直接查看到源码。
一、本地工程依赖
举个例子,其架构如下所示(以下均使用eclipse中m2eclipse插件进行演示)——
此时,这里依赖的“dependency-to-hello”指代的是eclipse工作空间中的工程,这样,我们直接源码依赖的便是工作空间里的源码,这样很方便,也是我们需要的。会注意到,所依赖的“dependency-to-hello”工程,并没有显示其路径,也就是默认的工作空间的地址。
那么,什么时候maven依赖的是仓库(本地仓库或远程仓库)中的jar包呢?
二、(本地/远程)仓库jar包依赖
很简单的方法之一,直接把“dependency-to-hello”工程关闭掉(close project),这样,就得到这样一个视图——
会看到,此时maven依赖的正是对应“dependency-to-hello”工程的jar文件,并且,后面的路径显示是从maven仓库里面取的。
三、工程依赖及仓库依赖的转换
OK,我们现在还原之,我们将工程“dependency-to-hello”打开,会看到对应的maven依赖又变回原来的工程依赖了。
需要说的是,当重新打开工程“dependency-to-hello”的时候,hello工程并没有出现红色感叹号,也就是无须做“update dependencies”等的更新maven依赖等操作。
从这里,我们就能够看出来——m2eclipse首先查看是否能够从本地工程库中得到对应的maven依赖,如何存在,则将本地工程依赖进来;如何不存在,则从本地仓库/远程仓库中加载解析对应的jar包依赖。
四、版本号变更
在这儿,我假装模拟一下版本号变更,来看一下,会发生什么情况?
现在“dependency-to-hello”工程是“快照”版本,当我们将之换为正式版本的时候,发现“hello”工程的maven依赖重新变回了jar依赖,如下——
“dependency-to-hello”工程的maven坐标配置——

com.juvenxu.mvnbook

dependency-to-hello

0.0.1

jar

“hello”工程的依赖配置——

com.juvenxu.mvnbook

dependency-to-hello

0.0.1-SNAPSHOT

其文件架构会显示如下——

会发现其依赖是原有的仓库中的“快照”版本的“dependency-to-hello”的jar包。我们将仓库中的“快照”版本删除掉。刷新工程,发现hello工程上显示红色感叹号。如下——

也就是说,其依赖是空依赖,本地及仓库中均不存在。

当然这个“陷阱”是我自己加的,重新更改其版本号正确对应即可,就可以重新得到maven本地工程依赖了。

五、总结

在日常多人协作开发过程中,我们常常会遇到maven依赖版本变更带来的问题。当我们的工作空间也存在对应的依赖工程(对应上述例子中的“dependency-to-hello”工程)的时候,我们可以通过判断依赖的是本地工程还是仓库jar包的方式来判断是否出现了版本不一致的问题。从而,就能够解决maven依赖版本变更带来的问题。

java如何使用自己的maven本地仓库详解

步骤如下:
1、下载maven的bin,在apache官方网站可以下载。
2、下载下来之后,解压,找个路径放进去, 把bin的位置设在环境变量里,新建环境变量MAVEN_HOME。
3、在PATH里加入maven的bin的路径。
4、配置完毕后,在Windows命令提示符下,输入mvn -v测试一下。
5、配置成功后开始在Eclipse中配置Maven,点击Eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可。
6、安装完毕后,点击重启Eclipse。
7、重启后,为了使得Eclipse中安装的Maven插件,同windows中安装的那个相同,需要让eclipse中的maven重新定位一下,点击Window -> Preference -> Maven -> Installation -> Add进行设置。
9、设置成功即安装完成。

maven repository 私人仓库怎么搭建

方法:
1.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng
2.使用version准备路径,将version连接到后面:org/testng/testng/5.8
3.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8
4.判断如果构件有classifier,就要在 第4项 后增加 分隔符连字号 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5
5.检查构件的extension,如果extension存在,则加上句点分隔符和extension,而extension是由packing决定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar
6、基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 "." 转换成 "/" ; example: org.testng --->org/testng参考资料
Maven详解之仓库------本地仓库、远程仓库.研发管理[引用时间2017-12-28]

阅读更多 >>>  gitclone怎么用,gitee怎么下载别人的代码

网站数据信息

"maven仓库类型,maven repository怎么理解"浏览人数已经达到25次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:maven仓库类型,maven repository怎么理解的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!