Архетипы Maven - это "шаблоны", с помощью которых вы можете быстро сгенерировать пример выполнения данной структуры или типа проекта. Я пытаюсь скомпилировать список всех каталогов архетипа Maven, которые в настоящее время активны в сети.
Из документации Maven о файлах каталога:
Знание об архетипах хранится в каталогах.
Каталоги представляют собой xml файлы.
Плагин Archetype поставляется в комплекте с внутренним каталогом. Этот используется по умолчанию.
Плагин Archetype может использовать каталоги из локальной файловой системы и из HTTP соединения.
До сих пор я собрал этот список репозиториев, которые публикуют каталоги, но хотелось бы узнать, знает ли кто-нибудь больше:
mvn archetype:generate
-DarchetypeCatalog=local
-DarchetypeCatalog=remote
-DarchetypeCatalog=http://repo.fusesource.com/maven2
-DarchetypeCatalog=http://cocoon.apache.org
-DarchetypeCatalog=http://download.java.net/maven/2
-DarchetypeCatalog=http://myfaces.apache.org
-DarchetypeCatalog=http://tapestry.formos.com/maven-repository
-DarchetypeCatalog=http://scala-tools.org
-DarchetypeCatalog=http://www.terracotta.org/download/reflector/maven2/
Ссылки на такие же: 1) FuseSource 2) Cocoon 3) Java.net 4) MyFaces 5) Tapestry 6) Scala Каталог 7) Terracotta Catalog
Вы заметите, что если репозиторий фактически публикует каталог архетипа (все вышеописанное), вы получите приглашение пользовательского интерфейса всех вариантов, найденных в этом archetype-catalog.xml
. Например:
mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: http://scala-tools.org -> scala-archetype-simple (A simple scala project)
2: http://scala-tools.org -> lift-archetype-blank (A blank/empty liftweb project)
3: http://scala-tools.org -> lift-archetype-basic (A basic liftweb project (with DB, css, ...))
Choose a number: (1/2/3):
Если вы хотите, например, просмотреть файл каталога Scala, например, перейти к http://scala-tools.org/archetype-catalog.xml
Но если репозиторий не предоставляет файл archetype-catalog.xml, то, как говорит PascalT, вам нужно знать имя заранее (гораздо менее удобно) и передавать его в аргументы командной строки.