При использовании области действия system
необходимо указать абсолютный путь к зависимости (в отличие от любых других зависимостей, которые ищутся в репозиториях Maven). См. Системные зависимости в Введение в механизм зависимостей .
Пример:
<dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
Почему бы вам просто не установить сторонний артефакт в локальном / корпоративном хранилище?
РЕДАКТИРОВАТЬ : Если вы определили systemPath
, но подозреваете, что переменная окружения не разрешена, вы получите следующую ошибку (обратите внимание на наличие переменной в пути):
The project ... has 1 error
'dependencies.dependency.systemPath' for weblogic:webservices:jar must specify an absolute path but is ${env.BEA_HOME}/lib/xyz.jar @ line ...
Но если Maven обнаружит переменную и разрешит ее должным образом, приведенное выше сообщение об ошибке будет содержать уже разрешенный каталог (а не заполнитель). Протестировано на Ubuntu / Maven 3.