Maven:库模块

Maven: library module

我正在开发一个包含大约 10 个子模块的库模块的项目。

对于应用项目,开发者要求我们想办法只导入一个依赖,而不是要求的10个。我们以log4j的依赖为例:我只需要包含一个而不是全部子依赖项。

如何为我的图书馆实现这种结构?

我相信这可以通过使用 Maven 的传递依赖来实现。本质上,您将创建一个新项目,然后该项目依赖于您想要分组并提供给另一个应用程序的所有其他依赖项。然后,您可以将新项目添加为应用程序 POM 中的依赖项,从而引入所有传递依赖项。

这有点类似于 Spring Boot Starter 依赖项,它将一些 Spring 依赖项打包在一起,以便快速开始使用 Spring Boot。参见 https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-starters/spring-boot-starter/build.gradle