Иногда - обычно, когда я путешествую и / или у меня нет подключения к Интернету или соединение очень медленное или дорогое - я хотел бы иметь возможность создавать сборки Maven в автономном режиме.
Как мне это сделать и чтоДолжен ли я сделать заранее, чтобы предварительно загрузить всю необходимую информацию?
Я уже определил себя локальный репозиторий и добавил, что в моем файле settings.xml так:
<settings ....>
<localRepository>D:/m2Repository</localRepository>
...
</settings>
Я также нашел Mavenпараметры -o
(в автономном режиме) и -nsu
(без обновлений снимков), которые согласно их описаниям должны разрешать именно это, а именно делать автономные сборки, но когда я запускаю свои сборки с этими добавленными параметрами, Maven тем не менее отключается и пытаетсядля загрузки зависимостей.
Я специально не понимаю, почему Maven пытается загрузить зависимости, которые определенно являются в моем локальном репо, например, вывод одной из моих попыток офлайн читает:
Could not resolve dependencies for project <foobar>: Cannot access project-release (<URL to repo here>) in offline mode and the artifact com.oracle:ojdbc6:jar:11.2.0.3 has not been downloaded from it before.
Но когда я перепроверяю в своем репо, этот артефакт определенно указывает , там ! Именно по указанному пути (относительно репо-корня). Итак, почему Maven утверждает, что он еще не был загружен?
Я также встретил maven цели
mvn dependency:resolve-plugins
и
mvn dependency:go-offline
Оба работают нормально и не показывают ошибок. Но даже после их предварительного запуска - при попытке выполнить автономную сборку - я получаю одно и то же сообщение об ошибке «Не удалось разрешить зависимости ...»
Я также возился с опцией -llr
/ --legacy-local-repository
, но длябезрезультатно. : - (
Что еще нужно, чтобы убедить Мейвена в том, что артефакт действительно есть, и нет необходимости перезагружать его, чтобы он мог работать в автономном режиме?