Создать профиль внутри военного модуля (project-war
). В этом профиле настройте Jetty для подключения к фазе жизненного цикла и явно выполните цель run
. Теперь, когда maven запускается из проекта верхнего уровня с включенным этим профилем, он вызывает jetty: run и имеет разрешение зависимостей модуля-родителя (как обычно при выполнении команд maven из проекта верхнего уровня).
В примере конфигурации, помещенном в файл pom.xml веб-модуля (project-war
), выполняется установка jetty: run для выполнения на этапе test
. (Вы можете выбрать другой этап, но убедитесь, что он наступил после compile
.)
Запуск с верхнего уровня: mvn test -Pjetty-run
или mvn test -DskipTests=true -Pjetty-run
. Это скомпилирует зависимости по мере необходимости и сделает их доступными, но при этом вызовет причину: запустите в правильном модуле.
<profiles>
...
<!-- With this profile, jetty will run during the "test" phase -->
<profile>
<id>jetty-run</id>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.1.6.v20100715</version>
<configuration>
...
<webAppSourceDirectory>
${project.build.directory}/${project.build.finalName}
</webAppSourceDirectory>
...
</configuration>
<executions>
<execution>
<id>jetty-run</id>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
...
</profiles>