Maven может выполнять поиск в нескольких репозиториях (локальных, удаленных, «поддельных» удаленных), чтобы разрешить зависимости, но существует только ONE локальный репозиторий, в котором артефакты устанавливаются во время install
. Было бы настоящим кошмаром устанавливать артефакты в определенных местах и поддерживать этот список, не нарушая ничего, что просто не сработало бы, вы не хотите этого делать.
Но, ТБХ, я не понимаю. Итак, почему вы хотите это сделать? Могут быть альтернативные и более простые решения, такие как установка артефактов в локальном хранилище и последующее копирование их в корневой каталог проекта. Почему бы это не сработало? Я действительно хотел бы знать окончательное намерение.
ОБНОВЛЕНИЕ: Прочитав обновление исходного вопроса, единственное решение, которое я могу придумать (учитывая, что вы не хотите использовать разные версии / теги), это использовать два локальных репозитория и переключаться между ними (хотя и очень подвержен ошибкам).
Для этого либо используйте разные учетные записи пользователей (поскольку локальный репозиторий по умолчанию зависит от пользователя).
Или обновляйте ~/.m2/settings.xml
каждый раз, когда вы хотите переключиться:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
<!--localRepository>${user.home}/.m2/repository2</localRepository-->
...
</settings>
Или укажите другой settings.xml
и укажите на него, используя опцию --settings
:
mvn install --settings /path/to/alternate/settings.xml
Или укажите альтернативное местоположение в командной строке, используя параметр -Dmaven.repo.local
:
mvn -Dmaven.repo.local=/path/to/repo
Как я уже сказал, все эти решения подвержены ошибкам, и ни одно из них не приносит большого удовлетворения. Даже если у вас могут быть очень веские причины для параллельной работы над несколькими ветками, ваш вариант использования (не перестройка всего) не очень распространен. Здесь использование отдельных учетных записей пользователей может быть менее худшим решением IMO.