Maven 无法从仓库获取dependency Jar包时处理
2015-09-24 17:19
295 查看
在我们使用 Maven 管理、构建项目时,我们的Maven操作流程中一关键步骤如下:
配置pom.xml
获取需要的依赖包,并配置到pom.xml中。一般,我们可以从 http://mvnrepository.com/ 网站上查询到相应依赖包的pom配置代码。
但有时候就是那么不巧,甚至是无奈。明明正确的pom配置,在Eclipse中会提示错误,相应的jar包也没下过来。项目中自然也无法引用该 jar 包中的类。这种问题可能是由于网络不够顺畅导致,也有可能是Maven的那啥仓库无法访问或者其中没有所需求的版本的jar包。
那么,我们可以这样做:
1、还是从 http://mvnrepository.com/ 网站上查询需要的依赖包,并将jar包与其pom文件下过来,名称则保持一样,比如:javax.el-api-3.0.0.jar、javax.el-api-3.0.0.pom,另外,自己创建一个javax.el-api-3.0.0.jar.sha1文本文件,看到它的名字,正如你可能猜测的那样,它就是用来存储这个jar包的sha1加密值的。于是,你需要进行第2步。
2、下一个sha1文件校验工具(下载地址),用这个工具计算出jar包的sha1校验码,然后将这个校验码保存到**.jar.sha1文件中。到目前为止,准备工作差不多了。继续~
3、将上面三个文件放到本应该是自动创建、下载的目录下(Eclipse自动根据pom.xml处理的)。由于它没能自动创建,那么,就只好我们亲自代劳了。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
比如上面这一段pom配置,groupId有点类似java里面的包。故我们在Eclipse 的Maven本地库(如何确定库路径:参看下图)
创建javax/servlet目录,而artifactId对应的就是一个目录名(我的意思是,即使它的值也是xxx.xxx,也只是直接创建名为xxx.xxx的目录),OK,到了version字段了,跟前面的一样,还是创建一个目录,比如这里就是创建一个名为2.5的目录。好,到现在为止,目录创建完了(C:\Users\Danny
Tam\.m2\repository\javax\servlet\servlet-api\2.5),接着,把我们上一步的三个文件放入这个目录中。
4、更新pom.xml文件,我想现在它不再报错了吧 `(*∩_∩*)′
Good luck !!!
http://my.oschina.net/thc/blog/214534
配置pom.xml
获取需要的依赖包,并配置到pom.xml中。一般,我们可以从 http://mvnrepository.com/ 网站上查询到相应依赖包的pom配置代码。
但有时候就是那么不巧,甚至是无奈。明明正确的pom配置,在Eclipse中会提示错误,相应的jar包也没下过来。项目中自然也无法引用该 jar 包中的类。这种问题可能是由于网络不够顺畅导致,也有可能是Maven的那啥仓库无法访问或者其中没有所需求的版本的jar包。
那么,我们可以这样做:
1、还是从 http://mvnrepository.com/ 网站上查询需要的依赖包,并将jar包与其pom文件下过来,名称则保持一样,比如:javax.el-api-3.0.0.jar、javax.el-api-3.0.0.pom,另外,自己创建一个javax.el-api-3.0.0.jar.sha1文本文件,看到它的名字,正如你可能猜测的那样,它就是用来存储这个jar包的sha1加密值的。于是,你需要进行第2步。
2、下一个sha1文件校验工具(下载地址),用这个工具计算出jar包的sha1校验码,然后将这个校验码保存到**.jar.sha1文件中。到目前为止,准备工作差不多了。继续~
3、将上面三个文件放到本应该是自动创建、下载的目录下(Eclipse自动根据pom.xml处理的)。由于它没能自动创建,那么,就只好我们亲自代劳了。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
比如上面这一段pom配置,groupId有点类似java里面的包。故我们在Eclipse 的Maven本地库(如何确定库路径:参看下图)
创建javax/servlet目录,而artifactId对应的就是一个目录名(我的意思是,即使它的值也是xxx.xxx,也只是直接创建名为xxx.xxx的目录),OK,到了version字段了,跟前面的一样,还是创建一个目录,比如这里就是创建一个名为2.5的目录。好,到现在为止,目录创建完了(C:\Users\Danny
Tam\.m2\repository\javax\servlet\servlet-api\2.5),接着,把我们上一步的三个文件放入这个目录中。
4、更新pom.xml文件,我想现在它不再报错了吧 `(*∩_∩*)′
Good luck !!!
http://my.oschina.net/thc/blog/214534
相关文章推荐
- GTK+浅谈之十一国际化多语言支持及发布
- [LeetCode]Swap Nodes in Pairs
- centos搭建PHP的常见问题汇总
- 如何在线操作监听日志listener.log
- ListView中嵌套HorizontalListView问题
- 【LeetCode】Expression Add Operators
- POJ 算法基础 编程题#1: 完美覆盖
- 在MFC中对Excel的一些操作
- 计算机网络面试题汇总
- varnish高效缓存部署方式及原理详解
- 2106:decimal system
- JAVA CACHE
- ios时间时区处理
- andoird 操作手机通讯录
- 一步一步写平衡二叉树(AVL树)
- 输入框提示信息
- UIKit重写UIButton自定义复选框UICheckBox
- textView的代理方法汇总
- python模块imghdr读图片后缀名
- 一步一步写二叉查找树