具有多个父 POM - 具有依赖性的多个模块
Parent POM with Multiple - Multiple Modules having dependency
我们在 CVS 中有一个相对扁平的项目结构,post 迁移到 Git 我们遇到了一个问题,因为 Git 存储库是如何检出的。 CVS 存储库从未检出,但在 Eclipse 上使用 Git 我们可以看到一个存储库文件夹,项目在该文件夹下检出。这导致我们的 Maven 脚本出现问题。
新结构是:
我在 idml
和 leancore
下添加了引用父 pom.xml
的 pom.xml
文件。 idml
下面的项目指的是中间 idml
父 pom.xml
和 leancore
指的是中间 leancore
父 pom.xml
.
- 如何定义两个多模块项目之间的依赖关系?
- 父 POM 中将包含哪些内容以支持这种结构?
AdjHubCore
如何引用 idml - idmlj2eert
中的依赖项?
- 我们想从根父
pom.xml
文件构建所有模块和 war
文件。
您的 idmlj2eert POM 看起来像:
...
<groupId>idml</groupId>
<artifactId>idmlj2eert<artifactId>
<version>0.0.1-SNAPSHOT<>version>
...
然后你的 AdjHubCore 看起来像:
...
<dependency>
<groupId>idml</groupId>
<artifactId>idmlj2eert<artifactId>
<version>0.0.1-SNAPSHOT<>version>
</dependency>
...
另一种方法是在您的根 POM 中使用 <dependencyManagement>
,这样就避免了必须在子 POM 中声明依赖项的版本。那么,您的根 POM 必须是这样一个子 POM 的 <parent>
POM,直接或跨多个级别传递。
因此,这与任何其他依赖项没有什么不同。 Maven Reactor 在构建开始时根据多模块项目内的(内部)依赖关系处理正确的构建顺序。
记住,聚合(多模块)和继承(parent/child 关系)是不同的东西。一个项目可以使用它们中的任何一个,也可以同时使用两者。参见 POM Reference, Inheritance v. Aggregation and Maven: The Complete Reference, 3.6.2. Multi-module vs. Inheritance。
我们在 CVS 中有一个相对扁平的项目结构,post 迁移到 Git 我们遇到了一个问题,因为 Git 存储库是如何检出的。 CVS 存储库从未检出,但在 Eclipse 上使用 Git 我们可以看到一个存储库文件夹,项目在该文件夹下检出。这导致我们的 Maven 脚本出现问题。
新结构是:
我在 idml
和 leancore
下添加了引用父 pom.xml
的 pom.xml
文件。 idml
下面的项目指的是中间 idml
父 pom.xml
和 leancore
指的是中间 leancore
父 pom.xml
.
- 如何定义两个多模块项目之间的依赖关系?
- 父 POM 中将包含哪些内容以支持这种结构?
AdjHubCore
如何引用idml - idmlj2eert
中的依赖项?- 我们想从根父
pom.xml
文件构建所有模块和war
文件。
您的 idmlj2eert POM 看起来像:
...
<groupId>idml</groupId>
<artifactId>idmlj2eert<artifactId>
<version>0.0.1-SNAPSHOT<>version>
...
然后你的 AdjHubCore 看起来像:
...
<dependency>
<groupId>idml</groupId>
<artifactId>idmlj2eert<artifactId>
<version>0.0.1-SNAPSHOT<>version>
</dependency>
...
另一种方法是在您的根 POM 中使用 <dependencyManagement>
,这样就避免了必须在子 POM 中声明依赖项的版本。那么,您的根 POM 必须是这样一个子 POM 的 <parent>
POM,直接或跨多个级别传递。
因此,这与任何其他依赖项没有什么不同。 Maven Reactor 在构建开始时根据多模块项目内的(内部)依赖关系处理正确的构建顺序。
记住,聚合(多模块)和继承(parent/child 关系)是不同的东西。一个项目可以使用它们中的任何一个,也可以同时使用两者。参见 POM Reference, Inheritance v. Aggregation and Maven: The Complete Reference, 3.6.2. Multi-module vs. Inheritance。