Модуль A и модуль B ссылаются на файл pom ProjectA
ProjectA
должен иметь упаковку "pom" и быть "агрегатором" других модулей. Его pom.xml
должен выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.bar</groupId>
<artifactId>myartifactname</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>ModuleB</module>
<module>ModuleC</module>
</modules>
</project>
ProjectA
не должен содержать никаких исходных файлов, поэтому нет смысла объявлять зависимость от него в модулях B и C.
Однако модуль A pom. xml может содержать определения, общие для всех модулей (например, конфигурации, свойства плагина и т. Д. c.). В этом случае вы можете использовать наследование в модулях B и C. Например, модули B и C (но не A) могут иметь «родительский» раздел, в котором они будут объявлять ProjectA как «родительский», следовательно, наследуя вышеупомянутые определения.
Я использую ModuleA как зависимость в pom-файле moduleB
Опять же, как я объяснил выше, это не имеет смысла. ProjectA не является модулем java, и, поскольку в нем есть упаковочный модуль, из этого модуля нет реального артефакта (read jar).