Как сделать оффлайн сборки Maven? - PullRequest
2 голосов
/ 06 ноября 2019

Иногда - обычно, когда я путешествую и / или у меня нет подключения к Интернету или соединение очень медленное или дорогое - я хотел бы иметь возможность создавать сборки 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, но длябезрезультатно. : - (

Что еще нужно, чтобы убедить Мейвена в том, что артефакт действительно есть, и нет необходимости перезагружать его, чтобы он мог работать в автономном режиме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...