从 Maven 多项目设置发布单个项目

Publish individual project from maven multi-project setup

我有一个 Maven 多项目设置,其中一个项目代表“客户端 API”。与服务交互的其他 applications/projects 应包括客户端 API 作为依赖项。

客户端 API 的 pom.xml 引用父 pom,它从那里继承了一些依赖项。因此,此客户端 API 的消费者当前也需要访问此父 pom(因此也需要发布)。

这正常吗(“应该是这样的”)?或者这是可以避免的?是否可以将客户端 API 作为独立包发布?

如果您使用的工件是多模块构建的一部分,那么消费者也必须使用该工件的父级。

继承依赖关系是否正确的问题(另一个讨论)。

如果您想阻止使用父项,您必须拆分项目并为您的 API 创建一个单独的项目。但通常一个单独的项目通常也有一个父项目(公司;一般父项目等)。

另一方面,我不建议这样做,因为如果 api 在你的项目中,它也被使用和维护......这使得重构更容易。