В области действия системы ожидается, что контейнер предоставит артефакт.Из maven docs :
при условии
Это очень похоже на компиляцию, но указывает, что вы ожидаете, что JDK или контейнер предоставятзависимость во время выполнения.Например, при создании веб-приложения для Java Enterprise Edition вы должны установить зависимость от API-интерфейса сервлета и связанных API-интерфейсов Java EE, так как веб-контейнер предоставляет эти классы.Эта область доступна только в пути к классам компиляции и тестирования и не является транзитивной.
[...]
system
Эта область действия аналогична предоставленной, за исключением того, что вы должны предоставить JAR, который содержит ее явно.Артефакт всегда доступен и не просматривается в репозитории.
Используя системную область, вы указываете подключаемому модулю, что контейнер будет обеспечивать эту зависимость.Поскольку это не то, что вы намерены делать, самое простое решение - поместить артефакт в хранилище, либо в локальный репозиторий Maven, либо в свое собственное репозиторий Maven, если он у вас есть.
install: install-file цель может быть использована для установки одного файла (без POM) в ваш локальный репозиторий.После этого измените тип зависимости на «compile» и удалите элемент «systemPath».
В моей повседневной работе мы используем Nexus для управления репозиторием всей компании в нашей интрасети.,Вы можете иметь отдельные репозитории для своих собственных артефактов против сторонних артефактов.Nexus также действует как прокси, кэшируя артефакты из внешних репозиториев, что значительно ускоряет сборку.Это означает, что только разработчик, который использует новую зависимость, которая недоступна в других репозиториях, должен загружать - после этого все остальные разработчики могут использовать ее - они могут извлекать из SCM и строить, не беспокоясь о том, где находятся зависимости.