Дочерний модуль Maven не существует

Я новичок в Maven. Я проверил из SVN проект от клиента со следующей структурой:

projectName
|--> pom.xml
|--> jetty-wrapper
     |--> pom.xml
     |--> bin
          |--> pom.xml
|--> projectName-common
     |--> pom.xml
     |--> bin
          |--> pom.xml
|--> projectName-war
     |--> bin
          |--> pom.xml

пом.xml прямо под " projectName` (pom вверху) строит три модуля

<modules>
    <module>projectName-common</module>
    <module>projectName-war</module>
    <module>jetty-wrapper</module>
</modules>

но при выполнении mvn clean install в папке projectNameОн дает следующую ошибку

Child module [...]projectNameprojectName-warpom.xml of [...]projectNamepom.xml does not exist

вопрос в том, Должен ли быть pom.xml прямо под projectName-warкак и с остальными модулями, что мой клиент, возможно, забыл коммит в SVN?

спасибо!

2 ответов


вопрос: Должен ли быть pom.xml прямо под именем проекта-war

просто поставить да.

вы уже поняли трюк, и так как вы не предоставили дескриптор проекта aka пом.в XML для maven, он не сможет вызвать имя_проекта-войны допустимый дочерний модуль.

должен быть абсолютно пом.в XML под имя_проекта-войны, и он должен иметь идентификатор артефакта, который соответствует идентификатору под родительским объявлением модуля, т. е.

<artifactId>projectName-war</artifactId>

Child module [...]projectName\projectName-war\pom.xml of [...]projectName\pom.xml does not exist

Если вы получаете вышеуказанную ошибку при использовании mvn install из командной строки (тот же pom может работать в eclipse), вы должны изменить свой pom.в XML мало

вместо ниже:

<modules>
        <module>../my-util</module>
        <module>../my-server</module>           
</modules>

следуйте приведенному ниже (заключите в профилировщики):

<profiles>
    <profile>
        <modules>
            <module>../my-util</module>
            <module>../my-server</module>           
        </modules>
    </profile>
</profiles>