Чи є опція командного рядка maven для автономного режиму?


80

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

Я б уявив щось на зразок напр

mvn install -Dmaven.offline.true

Відповіді:



20

Автономний режим Maven викликається за допомогою mvn -o.

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

Тож є ще одна корисна мета:

mvn dependency:go-offline

Це чудова команда бігти перед стрибком у літак, що покращить ваші шанси BUILD SUCCESS. Див Go-форумі документації для деталей.



5

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

З довідкової документації:

 -llr, - legacy-local-repository Використовуйте Maven 2 Legacy Local
                                        Поведінка сховища, тобто відсутність використання
                                        _remote.repositories. Також може бути
                                        активується за допомогою
                                        -Dmaven.legacyLocalRepo = істина

 -o, - офлайн Робота в автономному режимі

Іншим способом виконання mvn в автономному режимі є видалення цих _remote.repositoriesметаданих, що зберігаються в каталозі завантажених залежностей.


3

Спробуйте -o, або навіть --help, щоб отримати допомогу з усіма варіантами

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.