Обычно плохая практика - пытаться делать то, что вам нужно, хотя это можно сделать с помощью профилей и сборок, которые я бы порекомендовал против этого.
Вот как бы я подошел к этому.
Разделите код на проект jar и настройте проект jar для использования плагина компилятора aspectj. Сделайте так, чтобы военный проект зависел от jar-проекта, а jar-проект зависел от aspectjrt. Зависимости jar, которые вы хотите исключить, могут быть указаны как «предоставленные» области действия, поэтому они не будут включены в сборку или исключены путем настройки зависимости jar для исключения этих транзитивных зависимостей (см. Раздел Transitive Dependency Exclusion в Документация механизма зависимостей для деталей.
Когда война будет построена, все зависимые от компиляции зависимости (и их транзитивные зависимости) будут объединены в каталог WEB-INF / lib войны (т.е. будет также включен аспектjjt).
Если вам нужно построить оба проекта одновременно, определите pom-агрегатор и укажите оба проекта: jar и war как модули.