Я использую локальный репозиторий, как описано в Maven: добавить зависимость в jar по относительному пути .
URL-адрес хранилища определяется в самом верхнем pom.xml
как
<url>file:${basedir}/../3rdParty/maven-repository</url>
Также, самый верхний pom.xml
определяет 2 модуля
<modules>
<module>sub1</module>
<module>sub2</module>
</modules>
Проблема в том, что если модуль (скажем, sub1
) определяет зависимость, которая должна быть загружена из хранилища, а maven вызывается из самого верхнего каталога, ${basedir}
устанавливается не в этот каталог, а в sub1
, что приводит к неправильному URL-адресу хранилища.
Итак, скажем, проект с самым верхним pom.xml
находится в
/Development/myproject/pom.xml
А хранилище находится в
/Development/3rdParty/maven-repository
Тогда URL репозитория должен быть установлен на
/Development/myproject/../3rdParty/maven-repository
но оказывается, что оно установлено на
/Development/myproject/sub1/../3rdParty/maven-repository
которого, конечно, не существует.
Есть идеи, почему это так?