Maven - 导入/分组项目的所有模块
Maven - import / group all modules of project
我有一个包含大约 20 个子模块的父项目:
<project>
<modules>
<module>module-1</module>
<module>...</module>
<module>module-20</module>
</modules>
</project>
我想在其他项目中将此项目作为一个单独的实体使用,包括所有 20 个模块。在 Maven 中执行此操作的便捷方法是什么?
我是否应该制作一个新的子模块来导入其他20个模块并引用这个项目?这应该是 JAR 还是 POM 项目?
<project>
<packaging>jar</packaging>
<dependencies>
<dependency>... module-1 ...</dependency>
<dependency>...</dependency>
<dependency>... module-20 ...</dependency>
</dependencies>
</project>
我认为你在问题中提到的方式是个好主意。它实际上在 Maven book 中作为最佳实践被提及,引用:
If you have a set of dependencies which are logically grouped together. You can create a project with pom
packaging that groups dependencies together.
您可以创建一个名为 module-all
的新模块,它是 pom
包装的,它只依赖于每个模块。打包应该是 pom
因为这个模块的主要工件只有 pom.xml
(没有要编译的源代码,没有 JAR...)。然后,在您的外部项目中,您可以简单地向这个新模块添加一个依赖项(如 <type>pom</type>
),每个 module-i
个依赖项都将被传递包含。
如果您的所有模块不共享相同的版本,就会有一个警告:需要引用特定模块的特定版本,并且您必须更新 module-all
每次模块的 version
更改时的版本。但是,如果它们共享相同的版本,module-all
发布周期将与 module-i
一致。
我有一个包含大约 20 个子模块的父项目:
<project>
<modules>
<module>module-1</module>
<module>...</module>
<module>module-20</module>
</modules>
</project>
我想在其他项目中将此项目作为一个单独的实体使用,包括所有 20 个模块。在 Maven 中执行此操作的便捷方法是什么?
我是否应该制作一个新的子模块来导入其他20个模块并引用这个项目?这应该是 JAR 还是 POM 项目?
<project>
<packaging>jar</packaging>
<dependencies>
<dependency>... module-1 ...</dependency>
<dependency>...</dependency>
<dependency>... module-20 ...</dependency>
</dependencies>
</project>
我认为你在问题中提到的方式是个好主意。它实际上在 Maven book 中作为最佳实践被提及,引用:
If you have a set of dependencies which are logically grouped together. You can create a project with
pom
packaging that groups dependencies together.
您可以创建一个名为 module-all
的新模块,它是 pom
包装的,它只依赖于每个模块。打包应该是 pom
因为这个模块的主要工件只有 pom.xml
(没有要编译的源代码,没有 JAR...)。然后,在您的外部项目中,您可以简单地向这个新模块添加一个依赖项(如 <type>pom</type>
),每个 module-i
个依赖项都将被传递包含。
如果您的所有模块不共享相同的版本,就会有一个警告:需要引用特定模块的特定版本,并且您必须更新 module-all
每次模块的 version
更改时的版本。但是,如果它们共享相同的版本,module-all
发布周期将与 module-i
一致。