我们在CVS中有一个相对扁平的项目结构,并且在迁移到Git后我们遇到了一个问题,因为Git存储库是如何结帐的。 CVS存储库永远不会结账,但是在Eclipse上使用Git我们会看到一个存储库文件夹,项目在该文件夹下结帐。这导致我们的Maven脚本出现问题。
新结构是:
我在pom.xml
和idml
下添加了引用父leancore
的{{1}}文件。 pom.xml
下面的项目引用中间idml
父idml
和pom.xml
引用中间leancore
父leancore
。
pom.xml
{/ 1}}如何引用AdjHubCore
中的依赖关系?idml - idmlj2eert
文件构建所有模块和war
文件。答案 0 :(得分:1)
您的 idmlj2eert POM如下:
atRandom
然后你的 AdjHubCore 看起来像:
...
<groupId>idml</groupId>
<artifactId>idmlj2eert<artifactId>
<version>0.0.1-SNAPSHOT<>version>
...
另一种方法是在根POM中使用 ...
<dependency>
<groupId>idml</groupId>
<artifactId>idmlj2eert<artifactId>
<version>0.0.1-SNAPSHOT<>version>
</dependency>
...
,这样就可以避免在子POM中声明依赖项的版本。您的根POM必须是<dependencyManagement>
POM,直接或可传递到多个级别,然后是这样的子POM。
所以,这与任何其他依赖都没有什么不同。 Maven Reactor根据构建开始时多模块项目内的(内部)依赖关系来处理正确的构建顺序。
请记住,聚合(多模块)和继承(父/子关系)是不同的东西。一个项目可以使用它们中的任何一个,它也可以使用它们。请参阅POM Reference, Inheritance v. Aggregation和Maven: The Complete Reference, 3.6.2. Multi-module vs. Inheritance。