--- title: Java 优质开源工具类 category: 开源项目 icon: codelibrary-fill --- ## 代码质量 - [lombok](https://github.com/rzwitserloot/lombok) :使用 Lombok 我们可以简化我们的 Java 代码,比如使用它之后我们通过注释就可以实现 getter/setter、equals 等方法。 - [guava](https://github.com/google/guava "guava"):Guava 是一组核心库,其中包括新的集合类型(例如 multimap 和 multiset),不可变集合,图形库以及用于并发、I / O、哈希、原始类型、字符串等的实用程序! - [hutool](https://github.com/looly/hutool "hutool") : Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以“甜甜的”。 - [p3c](https://github.com/alibaba/p3c "p3c"):Alibaba Java Coding Guidelines pmd implements and IDE plugin。Eclipse 和 IDEA 上都有该插件,推荐使用! - [arthas](https://github.com/alibaba/arthas "arthas"):Arthas 是 Alibaba 开源的 Java 诊断工具。 - [sonarqube](https://github.com/SonarSource/sonarqube "sonarqube"):SonarQube 支持所有开发人员编写更干净,更安全的代码。 - [checkstyle](https://github.com/checkstyle/checkstyle "checkstyle") :Checkstyle 是一种开发工具,可帮助程序员编写符合编码标准的 Java 代码。它使检查 Java 代码的过程自动化,从而使人们不必执行这项无聊(但很重要)的任务。这使其成为想要实施编码标准的项目的理想选择。 - [pmd](https://github.com/pmd/pmd "pmd") : 可扩展的多语言静态代码分析器。 - [spotbugs](https://github.com/spotbugs/spotbugs "spotbugs") :SpotBugs 是 FindBugs 的继任者。静态分析工具,用于查找 Java 代码中的错误。 ## 文档处理 ### Excel - [easyexcel](https://github.com/alibaba/easyexcel) :快速、简单避免 OOM 的 Java 处理 Excel 工具。 - [excel-streaming-reader](https://github.com/monitorjbl/excel-streaming-reader):Excel 流式代码风格读取工具(只支持读取 XLSX 文件),基于 Apache POI 封装,同时保留标准 POI API 的语法。 - [myexcel](https://github.com/liaochong/myexcel):一个集导入、导出、加密 Excel 等多项功能的工具包。 ### JSON - [JsonPath](https://github.com/json-path/JsonPath):处理 JSON 数据的工具库。 ### PDF - [x-easypdf](https://gitee.com/dromara/x-easypdf):一个用搭积木的方式构建 PDF 的框架(基于 pdfbox/fop),支持 PDF 导出和编辑。 - [pdfbox](https://github.com/apache/pdfbox) :用于处理 PDF 文档的开放源码 Java 工具。该项目允许创建新的 PDF 文档、对现有文档进行操作以及从文档中提取内容。PDFBox 还包括几个命令行实用程序。PDFBox 是在 Apache 2.0 版许可下发布的。 - [OpenPDF](https://github.com/LibrePDF/OpenPDF):OpenPDF 是一个免费的 Java 库,用于使用 LGPL 和 MPL 开源许可创建和编辑 PDF 文件。OpenPDF 基于 iText 的一个分支。 - [itext7](https://github.com/itext/itext7):iText 7 代表了想要利用利用好 PDF 的开发人员的更高级别的 sdk。iText 7 配备了更好的文档引擎、高级和低级编程功能以及创建、编辑和增强 PDF 文档的能力,几乎对每个工作流都有好处。 - [FOP](https://xmlgraphics.apache.org/fop/) :Apache FOP 项目的主要的输出目标是 PDF。 ## 图片处理 - [Thumbnailator](https://github.com/coobird/thumbnailator):一个图像处理工具库,主要功能是缩放图像、添加水印、旋转图像、调整图片大小以及区域裁剪。 - [Imglib](https://github.com/nackily/imglib):一个轻量级的 JAVA 图像处理库,致力于简化对图像的常见处理,主要提供三部分的能力:图像收集、图像处理(基于 Thumbnailator 实现)、聚合与分裂。 ## 验证码 - [EasyCaptcha](https://gitee.com/whvse/EasyCaptcha):Java 图形验证码,支持 gif、中文、算术等类型,可用于 Java Web、JavaSE 等项目。 - [AJ-Captcha](https://gitee.com/anji-plus/captcha):行为验证码(滑动拼图、点选文字),前后端(java)交互。 - [tianai-captcha](https://gitee.com/tianai/tianai-captcha):好看又好用的滑块验证码。 ## 在线支付 - [jeepay](https://gitee.com/jeequan/jeepay):一套适合互联网企业使用的开源支付系统,已实现交易、退款、转账、分账等接口,支持服务商特约商户和普通商户接口。已对接微信,支付宝,云闪付官方接口,支持聚合码支付。 - [YunGouOS-PAY-SDK](https://gitee.com/YunGouOS/YunGouOS-PAY-SDK):YunGouOS 微信支付接口、微信官方个人支付接口、非二维码收款,非第四方清算。个人用户可提交资料开通微信支付商户,完成对接。 - [IJPay](https://gitee.com/javen205/IJPay):聚合支付,IJPay 让支付触手可及,封装了微信支付、QQ 支付、支付宝支付、京东支付、银联支付、PayPal 支付等常用的支付方式以及各种常用的接口。 ## 其他 - [oshi](https://github.com/oshi/oshi "oshi"):一款为 Java 语言提供的基于 JNA 的(本机)操作系统和硬件信息库。 - [ip2region](https://github.com/lionsoul2014/ip2region) :最自由的 ip 地址查询库,ip 到地区的映射库,提供 Binary,B 树和纯内存三种查询算法,妈妈再也不用担心我的 ip 地址定位。 - [agrona](https://github.com/real-logic/agrona):Java 高性能数据结构(`Buffers`、`Lists`、`Maps`、`Scalable Timer Wheel`……)和实用方法。