java - 为不同项目创建聚合 POM

标签 java maven pom.xml parent-pom

我想为不同的模块创建一个聚合pom,这样它就可以作为一个大的maven项目来处理。

ModuleA:Web 应用程序,有一个 pom.xml,其父级设置为 Spring boot

ModuleB:简单的java应用程序(与ModuleA的依赖关系不同)

Project/
  ModuleA/
    pom.xml  <-- parent is set to spring
  ModuleB/
    pom.xml  <-- no parent
  pom.xml    <-- aggregate pom to create

这是我尝试过的聚合 pom:

<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>group</groupId>
    <artifactId>Project</artifactId>
    <version>1</version>
    <packaging>pom</packaging>

    <name>Project</name>

    <modules>
        <module>ModuleA</module>
        <module>ModuleB</module>
    </modules>
</project>

问题是,当我尝试在项目级别运行 Maven 命令时,我收到警告:

[WARNING] Some problems were encountered while building the effective model for group:ModuleA:war:0.0.1
[WARNING] 'parent.relativePath' of POM group:ModuleA:0.0.1 (C:\Project\ModuleA\pom.xml) points at group:Project instead of org.springframework.boot:spring-boot-starter-parent, please verify your project structure @ group:ModuleA:0.0.1, C:\Project\ModuleA\pom.xml

当我不想从聚合 pom 继承任何内容时,这真的是一个问题吗?

最佳答案

如上所述herehere ,取消设置每个项目/模块 pom.xml 父元素中的relativePath,因为您的主项目只是用于聚合项目(而不是模块引用的父项目)

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.6.RELEASE</version>
    <relativePath/>                                      <=========
</parent>

关于java - 为不同项目创建聚合 POM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55440892/

相关文章:

java - 将 webjar 作为根资源提供服务

Java将int值链接到随机生成的代码

java - 创建和使用自定义 jar 文件时出现问题

java - 使用maven和jenkins,如何测试程序员做了一些测试用例?

java - Maven 插件执行的隐式 ID 是什么?

maven - Maven 中 pom.xml 中的依赖标签和插件标签有什么区别?

java - 使用自引用类型时 java 泛型方法中的绑定(bind)不匹配错误

java - 要遍历集合,聚合操作是更好的选择如何?

java - Apache Felix OSGI 安装依赖项

java - 如果操作系统不属于给定系列(例如 mac),如何激活 pom.xml?