Apache Maven 共享实用程序

该项目旨在成为Maven中plexus-utils的功能替代品。

虽然它不是一个 100% API 兼容的替代品,而是一个有改进的替代品:清理了很多方法,添加了泛型,我们删除了很多未使用的代码。

为什么 ?

plexus-utils 主要由来自各种 apache 项目的代码组成。maven-shared-utils 基于 apache 源的原始版本。

为什么不是公地?

我们希望代码在适当的情况下使用 commons-* 代码,但是多年来 plexus-utils 与 commons 有点不兼容(不同),因此迁移并不总是 1:1 操作。在大多数情况下,迁移到 maven-shared-utils 是 1:1 的操作。

与公地的关系-*

maven-shared-utils 内部使用commons-io。我们将所有公共类隐藏到我们自己的私有包中,以防止类路径冲突。

这就是为什么 maven-shared-utils 中的任何公共 API 都必须避免直接暴露 commons-io 类的原因。大多数时候,只需创建一个空的子类并公开它就足够了。