Обычно это причина для многомодульных сборок. Внешние сервисы находятся в отдельном модуле сборки, чем веб-приложение. Таким образом, вы создаете, упаковываете и запускаете свои интеграционные тесты при сборке этого модуля.
Другой модуль может содержать модель вашего домена и его модульные тесты, которые также запускаются во время сборки.
Весьма распространено, что модуль, который приводит к WAR, вообще не имеет никакого Java-кода, а только артефакты, связанные с сетью. Хотя это и не обязательно, это часто делается, потому что код, находящийся в военном модуле, не может быть включен в другой модуль.
Последний особый случай - модуль, содержащий веб-тесты. Этот модуль может часто нуждаться в артефактах тестовой области из других модулей (потому что он тестирует приложение извне, но может нуждаться в данных изнутри). Эту проблему можно решить путем упаковки ресурсов test в jar-файлы, создав отдельный набор jar-файлов test для каждого модуля.
Мультимодульные сборки являются нормой для maven проектов, а также легко настраиваются для других систем сборки, таких как ant.