Есть ли опция командной строки maven для автономного режима?


80

Вы можете указать в своем файле настроек maven , что вы хотите запустить в автономном режиме, но есть ли эквивалентная опция командной строки?

Я бы вообразил что-то вроде, например

mvn install -Dmaven.offline.true

Ответы:



20

Автономный режим Maven вызывается с помощью mvn -o.

Однако одного этого может быть недостаточно, потому что иногда текущий проект ссылается на артефакты, которых еще нет в кэше локального репозитория Maven ( ~/.m2/repository). Попытка собрать этот проект в автономном режиме потерпит неудачу, поскольку необходимые зависимости отсутствуют и не могут быть загружены.

Итак, есть еще одна полезная цель:

mvn dependency:go-offline

Это отличная команда для выполнения перед прыжком в самолет, которая повысит ваши шансы BUILD SUCCESS. Подробности см. В документации по переходу в автономный режим .



5

mvn -oработает в большинстве случаев, но в некоторых случаях этого будет недостаточно, поскольку из Maven 3 загруженный артефакт из удаленного / центрального репозитория создает _remote.repositoriesфайл в вашем локальном репозитории со ссылкой на то, где была загружена зависимость.
Это может вызвать некоторые проблемы, если позже у вас не будет доступа к этому удаленному репозиторию во время сборки.
Обходной путь, который может работать, использует mvn -o -llr yourGoal.

Из справочной документации:

 -llr, - legacy-local-repository Использовать Maven 2 Legacy Local
                                        Поведение репозитория, т.е. отсутствие использования
                                        _remote.repositories. Так же может быть
                                        активируется с помощью
                                        -Dmaven.legacyLocalRepo = true

 -o, - offline Работа в автономном режиме

Другой способ выполнить mvn в автономном режиме - удалить эти _remote.repositoriesметаданные, хранящиеся в каталоге загруженных зависимостей.


3

Попробуйте -o или даже --help, чтобы получить помощь по всем параметрам

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.