Apache Commons 是一个 Apache 项目,专注于可重用的 Java 组件,其中包含众多流行的、功能齐全的实用程序类包。
按照 Apache 官方的说法,目前 Commons 由三部分组成:
- Commons Proper – 可重用 Java 组件,正式的 Commons 项目,大多数项目近期都有更新。
- Commons Sandbox – 正在开发中的 Java 组件,其中的项目在未来可能会被纳入到正式的 Commons 项目,也可能后期不维护了。
- Commons Dormant – 当前不活动的组件,最近几乎没有开发活动。如果想使用其中的组件,则必须自己构建它们。
Commons Proper
Commons Proper 包含很多开发人员常用项目,其中每个组件都提供某一方面的支持,并且几乎不需要再引入其他依赖就可以使用。
下面将介绍部分属于 Commons Proper 的项目。
Apache Commons Codec
Apache Commons Codec 组件包含各种格式的编码器和解码器,例如 Base16、Base32、Base64、摘要和十六进制。除了这些广泛使用的编码器和解码器之外,编解码器包还维护一系列语音编码实用程序。
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.16.1</version>
</dependency>
Apache Commons Collections
Apache Commons Collections 包包含扩展和增强 Java 集合框架的类型。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.5.0-M1</version>
</dependency>
Apache Commons Compress
Apache Commons Compress 定义了一个用于处理压缩和存档格式的 API。其中包括 bzip2、gzip、pack200、LZMA、XZ、Snappy
、传统 Unix 压缩、DEFLATE、DEFLATE64、LZ4、Brotli、Zstandard 和 ar、cpio、jar、tar、zip、dump、7z、arj。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.26.1</version>
</dependency>
Apache Commons Email
Apache Commons Email 提供了用于发送电子邮件的 API,从而简化了 JavaMail API。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.6.0</version>
</dependency>
Apache Commons IO
Apache Commons IO 库包含实用文件工具类:流实现、文件过滤器、文件比较器、字节序转换类等。
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.16.0</version>
</dependency>
Apache Commons Logging
Apache Commons Logging 是一个简洁的适配器,允许可配置地桥接到其他常用的日志系统。
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.3.1</version>
</dependency>
Apache Commons Text
Apache Commons Text 库包含许多用于处理 String 的实用方法,它们超出了 Java Core 提供的功能。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.11.0</version>
</dependency>
Apache Commons Lang
Apache Commons Lang 3 包含字符串、数组和数字操作,反射和并发,有序数据结构等,主要是扩展 java.lang
中的类。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.14.0</version>
</dependency>
Apache Commons FileUpload
Apache Commons FileUpload 组件提供了一种简单而灵活的方法来向 servlet 和 Web 应用程序添加对分段文件上传功能的支持。
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.5</version>
</dependency>
总结
Apache Commons为Java开发者提供了一个强大的工具集,通过提供各种实用程序类和组件,极大地简化了开发过程。这些组件的高质量和广泛的应用使得它们成为Java生态系统中不可或缺的一部分。开发者可以根据自己的需要选择合适的组件,将它们集成到项目中,以提高开发效率和代码质量。随着Java生态的不断发展,Apache Commons也在不断地更新和改进,以适应新的挑战和需求。