盘点35个Apache顶级项⽬,我拜服了…
Apache 软件基⾦会
Apache 软件基⾦会,全称:Apache Software Foundation,简称:ASF,成⽴于 1999 年 7 ⽉,是⽬前世界上最⼤的最受欢迎的开源软件基⾦会,也是⼀个专门为⽀持开源项⽬⽽⽣的⾮盈利性组织。
来看看 Apache 软件基⾦会现在的成绩:
管理了超过两亿⾏的代码;
提交了 1,119,785,328 ⾏代码;
3,231,428 次代码提交;
765 个 ASF 个⼈会员;
7,600 个 代码提交者;
所有志愿者的社区;
350+ 项⽬和提议;
300 +顶级项⽬;
52 个孵化器项⽬;
以上信息来源 Apache 官⽹,你看本⽂的时候可能会有更新。
据 Apache 统计,⽬前整个 Apache 软件基⾦会有价值超过 200+ 亿美元的开源软件和项⽬,免费提供给开发者使⽤,并使全世界数⼗亿的⽤户受益。
看到这⾥,我只能说 Apache ⽜逼,下⾯我要整理的,可能都是我们⽇常开发过程中都会遇到的顶级开源项⽬,看看你⽤过⼏个,没⽤过的也可以学习了解下,⽇后总有⽤武之地。
顶级开源项⽬
基础组件项⽬
1、Apache(httpd)
项⽬主页:
Apache 中⽂名:阿帕奇,全称:Apache HTTP Server,后来改名叫 "httpd",是 Apache 软件基⾦会的⼀个开源 HTTP 服务器,能够运⾏于 UNIX 和 Windows 上的安全、⾼效和可扩展服务器。
Apache 估计也是最早的开源项⽬了,1995 年就推出来了,⾃从 1996 年 4 ⽉开始就⼀直是互联⽹上最流⾏的 web 服务器了,2020年 2 ⽉,它度过了它的 25 岁⽣⽇。
Apache 适合做HTML、图⽚等静态资源服务,可以⽤来部署静态⽹站,类似于 Nginx,不过 Nginx 要更强⼤,现在⽤ Nginx 的⽐较多。
2、Tomcat
项⽬主页:
这个做 Java 的没⼈不认识吧,记得在学校的时候学 Java 最经典的软件就是这只汤姆猫了,当时还是 Tomcat 6 的时代,现在是 8 的时代,最新已经到 10 了。
Tomcat 就是⼀个 Apache 开源的 Web 应⽤服务器,⽀持 Java Servlet, JavaServer Pages, Java Expression Language 和 Java WebSocket 技术,其实就是为 Java ⽽⽣。
虽然这些年 Tomcat 漏洞⼀直有,不能和其他收费的⽐,但它开源啊、免费啊,现在仍是 Java 界最主流的应⽤服务器。
3、Commons
项⽬主页:
Apache Commons 是包含⼀系列 Java 公共组件的项⽬,可以理解为 Java 开发⼯具包、公共类库,最经典的莫⾮ commons-lang3 类库了:
<dependency>
<groupId>org.apachemons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
Apache Commons 提供了⼀系列额外的 Java 核⼼ API,⽤的最多的 StringUtils 想必⼤家都知道了。
除了 commons-lang3 类库,Apache Commons ⽬前共提供了 43 个⼗分好⽤的类库,⽐如:
commons-io:这是⼀个有效开发 IO 功能的实⽤类库,很多 Java IO 处理都不能⾃⼰封装;
commons-codec:这个类库提供了常⽤的编码器和解码器,⽐如:Base64、⼗六进制、语⾳和 url 的编码解码等;
commons-collections:这个类库是专门处理集合的,很多集合处理也不⽤⾃⼰写了;
commons-fileupload:这个类库提供了⾮常容易的、健壮的、⾼性能的⽂件上传功能;
……
更多请参考上⽅的项⽬主页链接,其实 Apache Commons 提供了许多这些公⽤类库,我们真的没有必要重复造轮⼦,直接拿来⽤就好了。
4、POI
项⽬主页:
做过 Java Web 传统后台项⽬的都知道 POI 类库吧,POI 提供了⼀系列的 Java API 对 Microsoft Office 格式档案读写处理,如:Excel、Word、PowerPoint 等⽂件的读写,⾮常强⼤。
5、HttpComponents
项⽬主页:
Apache HttpComponents 提供了 HTTP 和相关协议的⼀系列 Java 组件和⼯具集,包括:HttpCore、HttpClient、HttpAsyncClient 三个组件,⼤家⽤的最多的 HTTP 客户端 HttpClient 应该都清楚了吧,就是这个开源项⽬的组件之⼀。
最新的 HttpClient 都到 httpclient5 了:
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.0.1</version>
</dependency
6、logging services
项⽬主页:
Apache logging services:即 Apache ⽇志服务,做 Java 都知道 Log4j 吧,也是⽤的最多的⽇志框架,就是属于这个开源项⽬,另外还包含还有 Log4j 2、log4php、log4cxx 等其他语⾔的⽇志框架。
7、Ant
目前行的php开发工具有
项⽬主页:
Apache Ant 是⼀个⽐较⽼的 Java 项⽬编译和构建⼯具,现在已经⽤的⽐较少了,已经被 Maven/ Gradle 替代了。
8、Maven
项⽬主页:
Apache Maven 算是 Apache Ant 的终结者,是现在最主流的软件项⽬管理⼯具之⼀,提供项⽬⾃动编译、单元测试、打包、发布等⼀系列⽣命周期的管理。
这⾥就不展开介绍了,相信⼤家⼤部分⼈所在公司都已经在⽤它,想系统学习的,我之前也写过不少教程,关注Java技术栈在后台回复 Maven 即可快速阅读。
9、Subversion
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论