Я хочу, чтобы у меня был возможность начать проект с архетипа Maven, находясь в автономном режиме. Но я не могу найти четких инструкций о том, как кэшировать архетипы Maven для автономного использования. У кого-нибудь есть совет?Оффлайн Кэширование архетипов Maven
ответ
Архетип Maven является артефактом, и как таковой он будет автоматически кэшироваться Maven при его первом использовании. Позже обычаи всегда будут запускать извлеченные артефакты сначала (из локального кеша). Мы также можем заставить Maven использовать кеш (автономный режим, как описано ниже).
Таким образом, вы можете просто вызвать соответствующие архетипы один раз (т. Е. Для фиктивного проекта) и отключить их для дальнейших вызовов.
Если вы действительно хотите его кешировать заранее, вы можете использовать Maven Dependency Plugin и его цель get, чтобы добавить к вашему местному кэшу Maven артефакт архетипа.
Например, давайте кэшировать Maven Quickstart Archetype как следующее:
mvn dependency:get -DgroupId=org.apache.maven.archetypes \
-DartifactId=maven-archetype-quickstart -Dversion=1.0
Это значит хранить на локальном кэше Maven maven-archetype-quickstart-1.0.jar
артефакт.
Если вы не знаете, где ваш локальный кэш Maven, вы можете использовать Maven Help Plugin и запустить:
mvn help:evaluate -Dexpression=settings.localRepository
В рамках подробного вывода, вы получите полный путь к локальному кэшу Maven ,
Поскольку теперь QuickStart Архетип находится на нашем кэше, мы можем запустить его с помощью -o
флаг (идти в автономном режиме, принудительно) для Maven вызова
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.0 \
-DgroupId=com.sample -DartifactId=test -Dversion=1.0-SNAPSHOT -B -o
Таким образом, Maven будет работать в автономном режиме исполнения и использовать его локальный кеш.
Обратите внимание, что вы можете также использовать опцию archetypeCatalog
при вызове archetype:generate
и установить его на local
только проверить локальный каталог, а принудительное исполнение в автономном режиме (-o
) будет лучше удовлетворить ваши потребности (форсирует местный каталог И локальные кэшированные архетипы).
Механизм архетипа Maven опирается на каталоги. Каталоги - это файлы XML, которые maven проверяет, какие архетипы доступны. Как Maven: The complete reference состояния в Chapter 12.4:
каталог архетип является XML-файл, который плагин Maven архетип может справиться найти архетипы в хранилище.
Вы можете создать каталог ваших кешированных архетипов (уже загруженных), сканировав локальный репозиторий для доступных архетипов. Это активируя crawl mojo:
mvn archetype:crawl
Это создаст файл XML в ~/.m2/repository/archetype-catalog.xml
. (Вы можете указать путь путем добавления -Dcatalog=<filename>
)
После этого вы можете использовать команду
mvn archetype:generate -DarchetypeCatalog=file://<fullpath of catalog file>
например
mvn archetype:generate -DarchetypeCatalog=file:///home/username/.m2/repository/archetype-catalog.xml
для создания проекта с использованием только что созданного каталога. Он будет только покажет доступные (кэшированные) архетипы вам, и они могут использоваться в автономном режиме.
Добавление:
Я думаю, вы будете использовать МВН архетип: генерировать чаще, так что вы можете захотеть, чтобы минимизировать ввод с помощью этого:
1) Создание каталога XML архетип под .m2/archetype-catalog.xml
-
mvn archetype:crawl -Dcatalog=/home/<username>/.m2/archetype-catalog.xml
2) Использование MVN архетип: генерируют -DarchetypeCatalog = локальный (этот доступ .m2/archetype-catalog.xml
)
mvn archetype:generate -DarchetypeCatalog=local
Рекомендуется использовать это после онлайн-загрузки, чтобы загрузить все необходимые плагины. Например, Archetype Plugin и потенциально другие.
- 1. Каталог архетипов Maven Jboss на eclipse m2e
- 2. Ruby on Rails эквивалент для архетипов Maven
- 3. Хранение архетипов с maven по-разному
- 4. Соответствующий путь к ресурсам в Maven архетипов
- 5. Maven оффлайн: плагин не найден error
- 6. Кэширование веб-страниц с использованием PHP (для оффлайн-просмотра)
- 7. Создание новых архетипов
- 8. Plone 4.3 без архетипов
- 9. Maven Archetype: Как добавить несколько архетипов в один и тот же maven-плагин?
- 10. Где находится список архетипов в IntelliJ IDEA?
- 11. оффлайн сайт
- 12. WAMPSERVER Оффлайн
- 13. Кэширование NPM, аналогичное локальному кэшу Maven
- 14. бесплатное и простое кэширование хранилища maven
- 15. Как отменить регистрацию расширителя схемы архетипов?
- 16. Создайте проект Maven в Intellij IDEA 12, но всегда в разделе «Загрузка списка архетипов»
- 17. нет архетипов в локальном каталоге по умолчанию при создании нового проекта maven
- 18. Новый проект Maven с использованием архетипов: почему javaee-endorsed-api.jar копируется в POM?
- 19. Оффлайн каталог продукции
- 20. Оффлайн Rails Dev Enviornment
- 21. Оффлайн платежный шлюз
- 22. Оффлайн Обработка запроса POST
- 23. Оффлайн Dropbox & Sync Ideas
- 24. Push-уведомления оффлайн-выход
- 25. Оффлайн-дистрибуция содержимого TYPO3
- 26. Оффлайн Qt Документация
- 27. Оффлайн HTML templating
- 28. Wamp Server Оффлайн ошибка
- 29. Оффлайн Node.JS Пакеты
- 30. Оффлайн-использование Git
Но каталог предоставит только то, что уже кэшировано, в то время как вопрос был больше о том, как кешировать предшественники архетипа. Более того, вам действительно не нужно воссоздавать локальный каталог, если архетипы уже кэшированы. Во всяком случае, стоит упомянуть об этом. –