如何设置maven的localmaven repository下载目录

解决maven执行命令时提示:cached in the local repository的解决方法小结
作者:佚名
字体:[ ] 来源:互联网 时间:01-03 00:27:16
这篇文章主要介绍了解决maven执行命令时提示:cached in the local repository的解决方法,需要的朋友可以参考下
可能原因是maven私服找不到相关jar。
我们可以到中找到相应的jar,上传到私服即可。
然后到本地仓库中找到相应的文件夹路径,删除相关文件夹后,再执行maven命令。下面是其他网友的补充:方法二、今天使用命令mvn compile编译maven项目时提示错误信息,部分错误信息如下: ...... was cached in the local repository, resolution will not be reattempted until the update interval of nexus ...... 发现proxool-0.9.1.jar下载到本地时失败,从提示可知是本地仓库的缓存(cached)造成,于是我删除目录C:\Users\Administrator\.m2\repository\proxool\proxool\0.9.1后重新下载(即执行mvn compile命令)即可成功! 注意你要确定远程仓库中存在此jar(proxool-0.9.1.jar)包 方法三、问题描述 在使用公司内部的maven仓库编译项目时,由于新加入了几个依赖包,第一次编译失败了,此后在修复了公司内部maven仓库后编译项目出现错误 was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced -& [Help 1] 问题原因 Maven默认会使用本地缓存的库来编译工程,对于上次下载失败的库,maven会在~/.m2/repository/ / / /目录下创建xxx.lastUpdated文件,一旦这个文件存在,那么在直到下一次nexus更新之前都不会更新这个依赖库。 解决办法: 删除~/.m2/repository/ / / /目录下的*.lastUpdated文件,然后再次运行mvn compile编译工程。 另外也有说可以修改~/.m2/settings.xml文件,将其中的仓库添加 代码如下: &updatePolicy&always&/updatePolicy& 来强制每次都更新依赖库,但这个方法我还没有试过,这里先记下,下次再碰到这个问题的时候再试试。
大家感兴趣的内容
12345678910
最近更新的内容日志总数:141篇
评论总数:244条
分类总数:3个
标签总数:214个
友情链接:8个
网站运行:2266天
现在位置: &&
&>&&>&正文
快速配置Maven到OSChina中央库的教程
首先,感谢OSChina为我们提供了国内的 Maven 中央库,免去了偶尔无法连接国外Maven库蛋疼的问题,小弟首先在此表示感谢。
OSChina为了方便广大开发同学,特别推出国内的 Maven 中央库,提供高速稳定的网络和服务,为国内 Maven 使用者提供便捷服务。本 Maven 库是从 ibiblio 同步过来的,因为网络等原因,保持每天一次更新。本 Maven 库使用开源软件 Nexus 搭建,对外镜像链接地址为:
http://maven.oschina.net/content/groups/public/
接下来将简单介绍如何在您的项目中使用 Maven,以及使用
提供的 Maven 服务。
1.安装 Maven
如果需要使用到 Maven ,必须首先安装 Maven , Maven 的下载地址在
中有,您也可以这里下载
下载好 Maven 后,需要简单安装下。将下载的
包解压到需要安装到的目录。 接下简单配置下环境变量:
1、新建环境变量
,输入值为 Maven 的安装目录。
2、新建环境变量
,输入值为:
%M2_HOME%\bin
3、将 M2 环境变量加入
的最后,如:
环境变量就这么简单配置下就可以了。打开命令行窗口输入
mvn -version
。可以看到如下输出:
看到以上输出,您的 Maven 环境就已经搭建好了。
2.修改 settings.xml
在 Maven 中使用
的 Maven 服务还需要简单配置一下 Maven,在 Maven 的安装目录下的 conf 文件下有个
settings.xml
文件,接下来我们需要对这个文件做简单的修改,修改前您可以简单备份下该文件。 打开
settings.xml
文件,按下面内容修改。或者点击
Maven仓库地址配置
&!-- mirror | Specifies a repository mirror site to use instead of a given
repository. The repository that | this mirror serves has an ID that matches
the mirrorOf element of this mirror. IDs are used | for inheritance and direct
lookup purposes, and must be unique across the set of mirrors. | --&
&id&nexus-osc&/id&
&mirrorOf&*&/mirrorOf&
&name&Nexus osc&/name&
&url&http://maven.oschina.net/content/groups/public/&/url&
&/mirrors&
123456789101112
&mirrors&&&&&&!-- mirror | Specifies a repository mirror site to use instead of a given &&&&&&&&repository. The repository that | this mirror serves has an ID that matches &&&&&&&&the mirrorOf element of this mirror. IDs are used | for inheritance and direct &&&&&&&&lookup purposes, and must be unique across the set of mirrors. | --&&&&&&mirror&&&&&&&&&&id&nexus-osc&/id&&&&&&&&&&mirrorOf&*&/mirrorOf&&&&&&&&&&name&Nexus osc&/name&&&&&&&&&&url&http://maven.oschina.net/content/groups/public/&/url&&&&&&/mirror&&/mirrors&
补充: 如果还需要osc的thirdparty仓库或多个仓库,需要如下修改:
其他仓库设置
&!-- mirror | Specifies a repository mirror site to use instead of a given
repository. The repository that | this mirror serves has an ID that matches
the mirrorOf element of this mirror. IDs are used | for inheritance and direct
lookup purposes, and must be unique across the set of mirrors. | --&
&id&nexus-osc&/id&
&mirrorOf&central&/mirrorOf&
&name&Nexus osc&/name&
&url&http://maven.oschina.net/content/groups/public/&/url&
&id&nexus-osc-thirdparty&/id&
&mirrorOf&thirdparty&/mirrorOf&
&name&Nexus osc thirdparty&/name&
&url&http://maven.oschina.net/content/repositories/thirdparty/&/url&
&/mirrors&
123456789101112131415161718
&mirrors&&&&&&!-- mirror | Specifies a repository mirror site to use instead of a given &&&&&&&&repository. The repository that | this mirror serves has an ID that matches &&&&&&&&the mirrorOf element of this mirror. IDs are used | for inheritance and direct &&&&&&&&lookup purposes, and must be unique across the set of mirrors. | --&&&&&&mirror&&&&&&&&&&id&nexus-osc&/id&&&&&&&&&&mirrorOf&central&/mirrorOf&&&&&&&&&&name&Nexus osc&/name&&&&&&&&&&url&http://maven.oschina.net/content/groups/public/&/url&&&&&&/mirror&&&&&&mirror&&&&&&&&&&id&nexus-osc-thirdparty&/id&&&&&&&&&&mirrorOf&thirdparty&/mirrorOf&&&&&&&&&&name&Nexus osc thirdparty&/name&&&&&&&&&&url&http://maven.oschina.net/content/repositories/thirdparty/&/url&&&&&&/mirror&&/mirrors&
这里是配置 Maven 的 mirror 地址指向 的 Maven 镜像地址。 在执行 Maven 命令的时候, Maven 还需要安装一些插件包,这些插件包的下载地址也让其指向 OSChina 的 Maven 地址。修改如下内容。
Maven 插件包配置
&id&jdk-1.4&/id&
&activation&
&jdk&1.4&/jdk&
&/activation&
&repositories&
&repository&
&id&nexus&/id&
&name&local private nexus&/name&
&url&http://maven.oschina.net/content/groups/public/&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&false&/enabled&
&/snapshots&
&/repository&
&/repositories&
&pluginRepositories&
&pluginRepository&
&id&nexus&/id&
&name&local private nexus&/name&
&url&http://maven.oschina.net/content/groups/public/&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&false&/enabled&
&/snapshots&
&/pluginRepository&
&/pluginRepositories&
&/profile&
12345678910111213141516171819202122232425262728293031323334
&profile&&&&&&id&jdk-1.4&/id&&&&&&&activation&&&&&&&&&&jdk&1.4&/jdk&&&&&&/activation&&&&&&&repositories&&&&&&&&&&repository&&&&&&&&&&&&&&id&nexus&/id&&&&&&&&&&&&&&name&local private nexus&/name&&&&&&&&&&&&&&url&http://maven.oschina.net/content/groups/public/&/url&&&&&&&&&&&&&&releases&&&&&&&&&&&&&&&&&&enabled&true&/enabled&&&&&&&&&&&&&&/releases&&&&&&&&&&&&&&snapshots&&&&&&&&&&&&&&&&&&enabled&false&/enabled&&&&&&&&&&&&&&/snapshots&&&&&&&&&&/repository&&&&&&/repositories&&&&&&pluginRepositories&&&&&&&&&&pluginRepository&&&&&&&&&&&&&&id&nexus&/id&&&&&&&&&&&&&&name&local private nexus&/name&&&&&&&&&&&&&&url&http://maven.oschina.net/content/groups/public/&/url&&&&&&&&&&&&&&releases&&&&&&&&&&&&&&&&&&enabled&true&/enabled&&&&&&&&&&&&&&/releases&&&&&&&&&&&&&&snapshots&&&&&&&&&&&&&&&&&&enabled&false&/enabled&&&&&&&&&&&&&&/snapshots&&&&&&&&&&/pluginRepository&&&&&&/pluginRepositories&&/profile&
如果您需要修改 Maven 的默认文件保存路径,需要在 settings.xml 文件中修改如下地方。
Maven仓库默认文件保存路径
&localRepository&F:/Maven/repo/m2/&/localRepository&
&localRepository&F:/Maven/repo/m2/&/localRepository&
按照如上修改
settings.xml
之后,您就可以在自己的 Maven 中使用
为您提供的 Maven 服务了。
3.使用 Maven 创建项目
您可以创建一个属于自己的 Maven 项目来简单测试一下
的 Maven 库。创建 Maven 项目很简单,只需要简单一行命令就可以搞定。 下面是创建 Maven 项目的命令:
创建 Maven 项目命令
mvn archetype:create -DgroupId=oschina -DartifactId=simple -DpackageName=net.oschina.simple
-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
mvn archetype:create -DgroupId=oschina -DartifactId=simple -DpackageName=net.oschina.simple&&-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
-DarchetypeArtifactId=maven-archetype-webapp
代表创建一个简单的 webapp 项目。至于其他参数的意思,您可以查看下 Maven 的相关。 在您需要创建 Maven 项目的文件夹下用命令行执行以上命令。可以看到如下输出:
如果顺利创建成功的话,你会看到如下输出:
如果创建失败,就可能需要您去 Google 一下了。创建项目的时候,Maven 会下载一些需要用到的 Maven 插件。
4.添加包依赖
因为只是简单介绍下使用
的 Maven 库,关于 Maven 的项目编译,打包,测试,发布等具体细节就不多介绍了,您可以去查看 Maven 的相关文档。跟ant一样,Maven 也需要通过 xml 来配置。在项目的根目录下有一个
添加包依赖
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&
&modelVersion&4.0.0&/modelVersion&
&groupId&oschina&/groupId&
&artifactId&oschina.simple&/artifactId&
&packaging&war&/packaging&
&version&1.0&/version&
&name&oschina.simple Maven Webapp&/name&
&url&http://maven.apache.org&/url&
&dependencies&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&3.8.1&/version&
&scope&test&/scope&
&/dependency&
&/dependencies&
&finalName&oschina.simple&/finalName&
&/project&
123456789101112131415161718192021
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&&&&&&&&&&&&&& &&&&xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&&&&&&modelVersion&4.0.0&/modelVersion&&&&&&groupId&oschina&/groupId&&&&&&artifactId&oschina.simple&/artifactId&&&&&&packaging&war&/packaging&&&&&&version&1.0&/version&&&&&&name&oschina.simple Maven Webapp&/name&&&&&&url&http://maven.apache.org&/url&&&&&&dependencies&&&&&&&&&&dependency&&&&&&&&&&&&&&groupId&junit&/groupId&&&&&&&&&&&&&&artifactId&junit&/artifactId&&&&&&&&&&&&&&version&3.8.1&/version&&&&&&&&&&&&&&scope&test&/scope&&&&&&&&&&/dependency&&&&&&/dependencies&&&&&&build&&&&&&&&&&finalName&oschina.simple&/finalName&&&&&&/build&&/project&
在 pom.xml 中加入您需要添加的包,如果您需要查找依赖包有哪些版本,可以在
搜索。比如输入 jedis 的结果会如下:在右下角的 Maven 标签下可以看到当前选中的版本的依赖 xml,copy 该依赖 xml 到
dependencies
结点下。如果需要其他依赖包,您也继续搜索。当然,有些偏门的 jar 可能没有,这主要可能是它没有提交到 Maven 的中央库中。
5.将项目安装到本地 repository
添加好包的依赖之后,您就可以开始在您的 Maven 项目下开始工作了。如果一切准备就绪,您可能需要将项目安装到本地
repository
。执行命令: mvn clean & mvn install 就可以把项目安装到您配置的本地镜像地址
.m2/repository
下了。 执行命令可以看到如下输出: 执行完之后,如果安装成功会出现如下结果: 如果失败了,就根据失败结果 Google 一下吧! 接下来打开您配置的本地
repository
地址,可以看到您配置的各种依赖包都下载到您本地文件夹了,下次您再使用这些包的时候就不需要再次下载了,项目构建速度也会提高很多。
项目上传说明
开源中国 Maven 库的第三方库中上传的构件信息仅仅存在于本库中,我们不向 Maven 中央库推送任何有关您上传的构件。如果有需要将您的构件上传到 Maven 中央库,请前往 ,如果您的构件在中央库中申请通过,并且在本库中存在版本,请通知
处理。鉴于上传到本 Maven 库中的构件信息直接放在对外开放的 public group 中会误导用户,此第三方库未配置到 public group ,如果您的项目中有需要用到其中的构件,请在项目中单独配置此地址:http://maven.oschina.net/content/repositories/thirdparty/ 。
该日志由 BaiKeyang 于日发表在分类下
【上篇】【下篇】2015年5月 Java大版内专家分月排行榜第二2013年5月 Java大版内专家分月排行榜第二
2011年5月 Java大版内专家分月排行榜第三2011年1月 Java大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。如何在maven中添加本地jar包 - maven - ITeye群组
如何在maven中添加本地jar包
可以把本地的jar包安装进库里
添加一个依赖,scope 设为 scope,systemPath 设置 jar 的路径
直接写pom.xml在本地仓库中创建文件夹就Ok了
例如:
&dependency&
&groupId&javax.servlet&/groupId&
&artifactId&servlet-api&/artifactId&
&&&&&&&& &version&1.1.1&/version&
&/dependency&
在本地仓库中创建javax\servlet\servlet-api\1.1\文件夹下添加jar就ok
哎......
demojava 写道直接写pom.xml在本地仓库中创建文件夹就Ok了
例如:
&dependency&
&groupId&javax.servlet&/groupId&
&artifactId&servlet-api&/artifactId&
&&&&&&&& &version&1.1.1&/version&
&/dependency&
在本地仓库中创建javax\servlet\servlet-api\1.1\文件夹下添加jar就ok
哎......
这方法太暴力了吧。
&dependency&
&groupId&javax.servlet&/groupId&
&artifactId&servlet-api&/artifactId&
&version&1.1.1&/version&
&scope&system&/scope&
&!--本地jar的路径,相对或者绝对都可以--&
&systemPath&path/to/yourLocalJar.jar&/systemPath&
&/dependency&
但是有个问题,& 在使用 shade 插件,打包的 jar& 不会把 scope 为 system的依赖打进去。
maven的本质就是那样的...不想在黑窗口(cmd中)敲什么命令,快速....
mvn install:install-file
-DgroupId=FCKeditor
-DartifactId=FCKeditor
-Dversion=2.3
-Dpackaging=jar
-Dfile=d:\FCKeditor-2.3.jar
相当与在pom.xml中添加了
&dependency&
&groupId&FCKeditor&/groupId&
&artifactId&FCKeditor
&/artifactId&
&version&2.3&/version&
&/dependency&
mvn deploy:deploy-file
-DgroupId=lotus.domino
-DartifactId=NCSO
-Dversion=7.0
-Dpackaging=jar
-Dfile=E:\dominosso\dominoapp\dominoapp\WEB-INF\lib\NCSO.jar
-Durl=http://yourlocalrepository:8888/archiva/repository/internal
-DrepositoryId=internal
最好的办法是,把jar安装到你本地协作的maven 资源库中,不然你的同事检出这个maven 项目就惨了,因为TA 本地没有install 这个jar,所以必定会报缺少jar。}

我要回帖

更多关于 maven repository目录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信