maven库中的中央仓库和本地仓库的区别?

2020-05-05 21:52:45 java常见问答 9352

在我们学习maven时会学到maven仓库,而maven仓库又分为中央仓库和本地仓库,这两者之间的区别很多人都不太清楚,现在小编就和大家说说Maven中央仓库和本地仓库的区别,顺便再和大家说说本地仓库是什么?

Maven中的中央仓库,是由其创始公司tycho维护的,里面几乎包含了java世界所有的包。公司里的开发人员们如果每次执行maven的时候都到这个中央仓库来下载所需包的特定版本,效率肯定特别低,所以就有必要建立并维护一个局域网 的甚至本地的仓库。

设置本地仓库

1.找到maven安装目录下的setting.xml文件

2.修改本地仓库位置

3.设置阿里巴巴镜像仓库。由于国内下载一些国外的仓库需要翻墙下载很慢,用阿里云提供的maven仓库,效率大大提高。

maven本地仓库中的jar目录一般分为三层:分别如下所示:

1 groupId

2 artifactId

3 version

4 jar包的依赖

如果要将maven本地仓库中的jar包添加到项目中,直接打开4 xx.pom文件,将改jar包的相关依赖复制pom.xml文件中即可。

2.执行命令:

mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar

其中:-DgroupId和-DartifactId的作用是指定了这个jar包在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。

一般用的jar包都是在mven仓库中下载的,所以groupId和artifactId直接将复制maven仓库中的设置即可。

org.apache.lucene lucene-queryparser 4.6.1

比如:

mvn install: install - file - Dfile = hadoop - hdfs - 2.2 .0.jar - DgroupId = org.apache.hadoop - DartifactId = hadoop - hdfs - Dversion = 2.2 .0 - D - Dpackaging = jar

就是指把hadoop-hdfs-2.2.0.jar安装到repositoryorg.apache.hadoophadoop-hdfs2.2.0目录下,执行完命令后,如果需要在项目中使用这个jar,则在pom.xml中添加如下配置即可:

org.apache.hadoop hadoop-hdfs 2.2.0

ps:执行上述命令后,在该jar包所在目录中会生成一个 jar包名字.pom的文件,里面有描述改jar包的坐标信息。

3.添加lib目录下的jar包到本地仓库

怎么在pom.xml中添加项目中libs下的jar呢,而不是从本地仓库中添加?

1、首先将要添加的jar包复制到项目中的libs文件夹下

2、然后在pom.xml中添加如下代码:

htmlunithtmlunit2.21-OSGisystem${project.basedir}/libs/htmlunit-2.21-OSGi.jar

注意libs文件夹下的这个jar包不需要Add to Build Path

可以在中央仓库搜索想要的jar包,然后复制对应的依赖代码到你项目中的pom.xml中,则对应的jar包将下载到你本地的maven仓库中,以提供给你使用。

以上就是今天Java常见问答的相关内容,更多相关内容请持续关注本网站吧。