Maven 的多模块插件文档清楚地说明:
模块是常规的 Maven 项目,必须位于子目录下,以便父项目可以轻松检索它们。
问题是我不想在子目录下找到它们。我只想指出一些可用于编译依赖项的文件路径。(突出显示,因为这实际上是问题)。
我想要它的原因很简单:我只是不想在一个文件夹中混淆两个完全不同的范例——maven 模块和 git 子模块。此外,我不想在项目中有任何类型的 git 依赖项。
解决方案编号 0,即创建 simlink 并将它们放入.gitignore
不计算在内;)
最好的解决方案是在单个 git 存储库中创建目录结构,并且不要在 Git 中使用子模块。这将导致这样的结构:
root (pom.xml)
+-- module1 (pom.xml)
+-- src/main/java
+-- src/test/java
+-- module2 (pom.xml)
+-- src/main/java
+-- src/test/java
+-- module3 (pom.xml)
+-- src/main/java
+-- src/test/java
上述结构将置于 Git 版本控制之下,根文件夹也包含子模块。不是 Git 中的子模块等。如果您在这种情况下有依赖项,则必须使用模块依赖项,这是 Maven 中的最佳实践。