maven-2 - child 在平面结构的多模块 maven 构建中找不到父 pom

标签 maven-2

我正在建立一个具有平面结构的多模块项目,即父级和子级位于同一个基本目录中。父级定义为

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>company</groupId>
    <artifactId>parent</artifactId>
    <packaging>pom</packaging>
    <version>1-0-SNAPSHOT</version>
    <name>child</name>
    <modules>
        <module>../child</module>
    </modules>
(...)

而它定义为的 child
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <parent>
        <groupId>company</groupId>
        <artifactId>parent</artifactId>
        <version>1.0-SNAPSHOT</version>
</parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>company</groupId>
<artifactId>child/artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>child</name>
(...)

(公司和项目名称混淆)

发生的事情是模块( child )提示它找不到 parent ,即:
Reason: Cannot find parent: company:child for project: company:child:war:1.0-SNAPSHOT for project company:child:war:1.0-SNAPSHOT

我错过了一个明显的解决方案,还是不建议使用平面项目结构?

编辑:
修正了一个错字。

最佳答案

使用 <relativePath> Example 5 中描述的元素的Introduction to the POM :

<project>
  <parent>
    <groupId>company</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>.../parent/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>company</groupId>
  <artifactId>child</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>child</name>
  ...
</project>

关于maven-2 - child 在平面结构的多模块 maven 构建中找不到父 pom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681453/

相关文章:

java - 在 maven jetty 7 插件中启用调试日志记录

java - Junit 在法语字符串断言上失败

java - 将-source设置为1.5,显然设置为1.3

mysql - 如何: database versioning with maven2?

android - 如何在 Android 上测试库?

java - 如何在缺少参数的情况下使 Maven 构建失败?

java - 如何在 Netbeans 中设置环境变量?

java - 如何让 GWT 2.0 和 ReSTLet 2.0 很好地发挥作用

maven-2 - 私有(private)内部 Maven 存储库

java - 如何在 Maven 2 中使用自定义注释处理器?