Я создал похожую структуру проекта и вставил POM, которые вы предоставили, но не смог воспроизвести проблему.Запуск mvn package
из агрегирующего pom просто работает как положено:
$ mvn package
[INFO] Scanning for projects...
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Unnamed - com.test:test:pom:0.0.1-SNAPSHOT ............ SUCCESS [5.819s]
[INFO] Unnamed - com.test:test-common:jar:0.0.1-SNAPSHOT ..... SUCCESS [3.343s]
[INFO] Unnamed - com.test:test-persistence:jar:0.0.1-SNAPSHOT SUCCESS [0.136s]
[INFO] Unnamed - com.test:test-other:jar:0.0.1-SNAPSHOT ...... SUCCESS [0.079s]
[INFO] Unnamed - com.test:test-web:war:0.0.1-SNAPSHOT ........ SUCCESS [1.899s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
...
и дает следующий результат:
$ tree .
.
├── components
│ ├── TestCommon
│ │ ├── pom.xml
│ │ ├── ...
│ │ └── target
│ │ ├── maven-archiver
│ │ │ └── pom.properties
│ │ └── test-common-0.0.1-SNAPSHOT.jar
│ ├── TestOther
│ │ ├── pom.xml
│ │ ├── ...
│ │ └── target
│ │ ├── maven-archiver
│ │ │ └── pom.properties
│ │ └── test-other-0.0.1-SNAPSHOT.jar
│ ├── TestPersistence
│ │ ├── pom.xml
│ │ ├── ...
│ │ └── target
│ │ ├── maven-archiver
│ │ │ └── pom.properties
│ │ └── test-persistence-0.0.1-SNAPSHOT.jar
│ └── TestWeb
│ ├── pom.xml
│ ├── src
│ │ └── main
│ │ └── webapp
│ │ ├── index.jsp
│ │ └── WEB-INF
│ │ └── web.xml
│ └── target
│ ├── maven-archiver
│ │ └── pom.properties
│ ├── test-web-0.0.1-SNAPSHOT
│ │ ├── index.jsp
│ │ ├── META-INF
│ │ └── WEB-INF
│ │ ├── classes
│ │ ├── lib
│ │ │ ├── test-common-0.0.1-SNAPSHOT.jar
│ │ │ ├── test-other-0.0.1-SNAPSHOT.jar
│ │ │ └── test-persistence-0.0.1-SNAPSHOT.jar
│ │ └── web.xml
│ └── test-web-0.0.1-SNAPSHOT.war
└── pom.xml
Таким образом, ваша проблема должна иметь отношение к самому вашему проекту WAR, его структура или что-то вроде этого.Пожалуйста, покажите его структуру и вывод Maven при запуске war:war
на нем.
Кстати, вот как POM обычно должен выглядеть в сборке с несколькими модулями:
<project>
<modelVersion>4.0.0</modelVersion>
<!--groupId>com.test</groupId--> <!-- unnecessary, you inherit it -->
<artifactId>test-web</artifactId>
<packaging>war</packaging>
<!--version>0.0.1-SNAPSHOT</version--> <!-- unnecessary, you inherit it -->
<parent>
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>0.0.1-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId> <!-- DRY, use built-in properties -->
<artifactId>test-common</artifactId>
<version>${project.version}</version> <!-- DRY, use built-in properties -->
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>test-persistence</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>test-other</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
Другое дело, конфигурация плагина war из родительского проекта наследуется (вы можете проверить это, запустив help:effective-pom
в веб-модуле), но имеет смысл настроить его в Интернетесам модуль.