最代码官方的gravatar头像
最代码官方 2015-09-18 13:54:46

java项目开发中如何查找到项目依赖的jar包?

在和很多java开发者沟通的过程中,在最代码网站或者其他网站下载的java项目缺少jar包是个很头疼的问题,如果是maven项目还好,去http://mvnrepository.com/搜索找到依赖的项目添加到dependency到pom.xml中即可,但是非maven项目则复杂度较高,该如何查找到正确的依赖包呢?

所有回答列表(18)
最代码官方的gravatar头像
最代码官方  LV167 2015年9月18日

不管是java普通工程,还是java web项目,甚至是android项目,依赖包的管理有2种:
1.直接依赖jar包

这种方式简单直白,项目下载后在正确的ide或者稍微做转换就可以运行起来。比如java web工程的WEB-INF/lib下

java项目开发中如何查找到项目依赖的jar包?

只要按这个步骤Java Build Path=>Add Libraty=>Web App Libraries添加依赖jar包即可

java项目开发中如何查找到项目依赖的jar包?

如果是普通java工程,也可以按这个步骤Java Build Path=>Add JARS添加依赖jar包即可,当然java web项目也可以这个添加jar包,所以我经常看到下载的java项目中有2中jar包的导入方式,其实是只要一种即可。
java项目开发中如何查找到项目依赖的jar包?

2.第三方开源项目maven,gradle等依赖

maven,gradle使用相比复杂,但因为不同jar包版本也会导致编译失败的问题来看,这种方式比第一种强百倍,所以值得java学习者花时间去掌握并熟练应用。

关于eclipse,maven,pom的可以参考如下文章:

如何在eclipse jee中创建Maven project并且转换为Dynamic web project

如何在eclipse jee中检出weibo4j并转换为Maven project,最后转换为Dynamic web project

史上最全的maven pom.xml文件教程详解

最后就是关于依赖包查找的方法了,其实根据以上jar包组织方式也可以有2种查找方法:

1.直接查找jar包

国外最著名的网站就是www.findjar.com,不管是包名,还是类名,都可以快速找到,我总结下如下经验:

1)对于一些相同类名或包名的项目,比如搜索Config有很多项目会有这个类,这样你得根据项目的类型来找到合适的,比如是属于hibernate,那就是net.sf的没错,其他的就不相关。

2)不同版本的同一个项目要根据已经存在的项目的版本号或发布时间来判定依赖包的版本号,比如spring-webmvc3.2.x的版本号

java项目开发中如何查找到项目依赖的jar包?

那相应如果缺少spring-context的jar包的话就找对应的即可,上下差2个版本号没问题。

2.maven,gradle项目查找

到http://mvnrepository.com查找对应的jar包即可。比如:http://mvnrepository.com/search?q=spring+mvc.

再如一下java的异常信息:

java项目开发中如何查找到项目依赖的jar包?

有经验的开发者一看就是缺少apache的commons的collections项目包,搜索:http://mvnrepository.com/search?q=collections

java项目开发中如何查找到项目依赖的jar包?

注意是apache的,根据包名即可明确需要的依赖包。

评论(0) 最佳答案
迷彩风情的gravatar头像
迷彩风情  LV26 2015年9月18日

可以在代码分享那块增加提示,让上传者注意把相关jar上传!

已注销用户的gravatar头像
已注销用户  LV34 2015年9月18日

666666666666666

请叫我小C的gravatar头像
请叫我小C  LV19 2015年9月18日

很好

大懒虫的gravatar头像
大懒虫  LV16 2015年9月18日

666666666666

huaxinwu的gravatar头像
huaxinwu  LV10 2015年9月18日

码农_老王的gravatar头像
码农_老王  LV10 2015年9月18日

牛哥的总结,必须顶一下。

Chen.木难的gravatar头像
Chen.木难  LV11 2015年9月18日

很实用的分享。顺便提一下不算Bug的bug,

1.页面刷新过后,点击html编辑器空白处,没有光标定位,我以为页面还在加载,才发现已经加载完了。

2.如果不输入任何东西,点击发布回答,按钮变成提交中,不刷新,再次编辑,按钮依然为提交中,不能再点击进行发布。

heliang的gravatar头像
heliang  LV3 2015年9月19日

很不错,非常实用,谢谢啦

907074783的gravatar头像
907074783  LV2 2015年9月19日

很不错,非常实用,谢谢啦

wentao的gravatar头像
wentao  LV24 2015年9月19日

感谢牛哥指导

wzs_221的gravatar头像
wzs_221  LV2 2015年9月21日

很好

kele的gravatar头像
kele  LV2 2015年9月24日

maven挺好用

海波的gravatar头像
海波  LV4 2015年9月29日

很好,赞一个!

gao1993的gravatar头像
gao1993  LV6 2015年10月27日

66666

whb5566的gravatar头像
whb5566  LV10 2017年1月24日

感谢,新项目要用到maven,正在学习

LESLIE123的gravatar头像
LESLIE123  LV4 2017年10月8日

学习了

chentao陈涛的gravatar头像
chentao陈涛  LV2 2018年3月6日

学习了

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友