目录
1. 问题的引出
2. 常用的第三方类库在哪里去找?
3. 如何有效地引用第三方类库?
4. 增加几个国内镜像的maven库,实现第三方库的高速下载
5. eclipse环境下如何让gradle自动下载第三方库的帮助文档?
Python的火热,在很大程度上得益于它的第三方扩展库,而对于Java开发者来说,尤其是初学者来说,遇到问题,直接到网上搜,可是网上搜出的代码(如罗列某个文件夹下(保含子文件夹)下的全部文件),往往都是在重复造轮子。
须知,应用开发中的大部分基本操作,如果Java标准库没有提供,都可以直接利用各种第三方扩展库(如压缩工具库、数学库、...),有了它们,就不用自己去造轮子了。这些第三方扩展库都是非常稳定的。可以直接拿来用,而不是搜寻到源代码,把代码贴上去。
既然这样,那该怎么在项目中更好地使用这些第三方库?
上述问题又引出如下问题:
(1)常用的第三方类库在哪里去找?
(2)项目的类路径中如何引用这些类库?
(3)gradle构建工具默认下载第三方库速度慢怎么办?
(4)如何在eclipse下自动显示类库中各个类的帮助文档?
开源的框架类库(如spring),这不用说了,官网都有详细说明。
我这里要说的是实际开发中经常用到的实用的第三方类库,怎么去找?一般的教科书、教材等,都侧重于Java语言本身,鲜有第三方造的轮子的介绍。实际上,在如下网站
https://commons.apache.org/
已经包含了大量的轮子,分为三个大的类别:
各个类别下面又包含非常多的库。例如,component下包含了用于压缩、科学计算、Java编译器接口等多个类库。
你可以通过上面的网站,根据你的需求查找。
当然,这里的第三方类库只是apache下负责的项目,还有其他各种第三方类库,只能百度了。但可以肯定,依靠这里的类库,你可以进一步造出更大的轮子。
注:大名鼎鼎的spring框架,显然不是从0开始构建的,其很多模块都是来自于上述类库。
传统方法:下载存储到项目所在目录(如lib目录)→把lib目录加入到classpath
现代工程方法:使用maven或gradle提供的依赖管理方法进行引用。
笔者建议:尽可能使用gradle这个构建工具来管理项目中的依赖(当然,它的功能不止这一点)。
上述类库在gradle下的引用:
implementation 'commons-XX:comons-XX:版本号’
举例:
implementation 'commons-math:commons-math:1.2' //引用commons-io
这里用分号分隔的三部分分别是:groupID,artifactId,版本号
怎么确定呢?
打开网址:
https://repo.maven.apache.org/maven2/
这里列出的就是groupID,例如数学库,其groupId为commons-math,单击这个commons-math超级链接,看到如下所示的页面,这个页面显示的"commons-math”路径,就是该库的artifactID,有的GroupId下包含很多个artiactID,说明其下面有很多的类库。再点进去,发现有好几个版本号,设定你想用的版本号即可。
gradle构建工具在第一次构建时(使用命令 gradle build),就会首先从远程maven库中下载这些类库。关于gradle的用法,请参考官网:https://gradle.org/guides/#getting-started
完成几个例子就能够初步学会怎么使用gradle。
第三方库第1次下载到本地后,后续将不再下载了。
但第一次下载速度往往很慢,主要原因是,上述第三方库默认在mavenCentral()国外,建议把阿里云的镜像添加到Maven库搜素的首选路径上。如下:
repositories {
maven {
url 'https://maven.aliyun.com/repository/public/'
}
maven {
url 'https://maven.aliyun.com/repository/spring/'
}
mavenLocal()
mavenCentral()
}
阿里云maven镜像网址:
https://maven.aliyun.com/mvn/guide
在项目的build.gradle文件中,找到plugins块,在其中添加eclipse插件
id 'eclipse'
在该文件的末尾(无所谓),添加eclipse的设置:
eclipse {
classpath{
dowloadJavadoc = true
}
}
重新编译项目,你的第三方类库对应的java文档默认就下载到本地,你可以在eclipse中实时查阅其帮助(把光标放到第三方类的类名上,就可以打开帮助,且可以进一步调用浏览器打开下载到本地的帮助文档)