44 votes

Quelles sont les URL de tous les catalogues d'archétypes Maven que vous connaissez ?

Archétypes Maven sont les "modèles" qui vous permettent de générer rapidement un exemple de fonctionnement d'un cadre ou d'un type de projet donné. J'essaie de compiler une liste de tous les catalogues d'archétypes Maven actuellement actifs sur le net.

Extrait de la documentation Maven sur les fichiers de catalogue :

Les connaissances sur les archétypes sont stockées dans des catalogues.

Les catalogues sont des fichiers xml.

Le plugiciel Archetype est fourni avec un catalogue interne. avec un catalogue interne. Celui-ci est utilisé par défaut.

Le plugin Archetype peut utiliser les catalogues du système de fichiers local et des connexions HTTP et de connexions HTTP.

Jusqu'à présent, j'ai rassemblé cette liste de dépôts qui publient des catalogues, mais j'aimerais savoir si quelqu'un en connaît d'autres :

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/

Liens vers les mêmes : 1) FuseSource 2) Cocon 3) Java.net 4) MesFaces 5) Tapisserie 6) Catalogue Scala 7) Catalogue Terracotta

Vous remarquerez que si le référentiel publie un catalogue d'archétypes (tous les référentiels ci-dessus le font), vous obtiendrez une invite de l'interface utilisateur avec tous les choix trouvés dans ce catalogue. archetype-catalog.xml . Par exemple :

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):

Si vous souhaitez par exemple visualiser directement le fichier catalogue Scala, vous pouvez naviguer vers http://scala-tools.org/archetype-catalog.xml

Mais si le référentiel ne fournit pas d'archetype-catalog.xml, alors, comme le dit PascalT, vous devrez connaître le nom à l'avance (beaucoup moins pratique) et le passer dans les arguments de la ligne de commande.

16voto

Pascal Thivent Points 295221

Pour être honnête, je ne vois pas vraiment l'intérêt de dresser une liste de tous les catalogues. Il me semble plus "naturel" de choisir d'abord un projet et d'ajouter ensuite le catalogue si nécessaire. C'est pourquoi une liste d'archétypes a, selon moi, plus de valeur. Vous aurez besoin de leur nom de toute façon, même si vous avez tous les catalogues dans une liste.

~~

Quoi qu'il en soit, voici quelques candidats ;

~~

* Grails possède des archétypes dans http://snapshots.repository.codehaus.org/ .* Atlassian a des archétypes en https://maven.atlassian.com/repository/public/

Edit : après la clarification de Matthew sur les catalogues d'archétypes.

J'ai mal compris certains concepts et ma réponse n'est pas claire et correcte.

Le but des catalogues est justement de ne pas avoir à connaître à l'avance les noms des archétypes . Ils sont faits pour publier des archétypes et permettre mvn archetype:generate pour lister les archétypes. Il est donc logique d'ajouter des catalogues "externes" (comprendre pas dans l'interne) pour obtenir une liste plus large d'archétypes connus lors de l'utilisation de mvn archetype:generate .

Pour les archétypes sans catalogue, les utilisateurs doivent taper une commande horrible qui doit être documentée quelque part (car elle nécessite la connaissance de l'artefact).

En ce qui concerne mes propositions :

  • Les archétypes d'Atlassian se trouvent dans le catalogue interne. Ce n'est pas une bonne proposition.

  • Les archétypes Grails ne figurent pas dans le catalogue interne ou dans un document publié. archetype-catalog.xml . Ce n'est pas une bonne proposition.

  • ServiceMix a des catalogues ici http://servicemix.apache.org/tooling/ (sur la base d'un http://servicemix.apache.org/tooling/<version>/archetype-catalog.xml modèle). Proposition valable.


Une chose amusante que j'ai apprise en creusant ça. Les gars de maven fournissent un outil sympa qui aide les personnes qui développent des archétypes à créer un catalogue XML : le fichier archetype:crawl explore un référentiel Maven local à la recherche d'archétypes et génère/met à jour un fichier archetype-catalog.xml dans ~/.m2/repository par défaut. Les projets, les gens ont juste à exécuter périodiquement quelque chose comme :

mvn archetype:crawl -Dcatalog=/var/www/html/archetype-catalog.xml

Grails ne fournit pas de catalogue. Pour créer un projet, nous devons courir :

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate -DarchetypeGroupId=org.grails \
-DarchetypeArtifactId=grails-maven-archetype \
-DarchetypeVersion=1.0 \
-DarchetypeRepository=http://snapshots.repository.codehaus.org \
-DgroupId=example -DartifactId=my-app

Mais une fois qu'on a fait ça, on a l'archétype dans notre dépôt local. Donc si on tape :

mvn archetype:crawl -Dcatalog=/home/<me>/.m2/archetype-catalog.xml

L'archétype est répertorié dans ~/.m2/archetype-catalog.xml et nous pouvons maintenant utiliser le mvn archetype:generate pour Grails également (voir l'option 5) :

mvn archetype:generate
...
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: local -> maven-archetype-archetype (archetype)
2: local -> maven-archetype-j2ee-simple (j2ee)
3: local -> maven-archetype-quickstart (quickstart)
4: local -> maven-archetype-webapp (webapp)
5: local -> grails-maven-archetype (maven-project)
6: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
...

Il s'agit bien sûr d'une solution de contournement (énorme) qui peut avoir des effets secondaires (vous ne verrez pas de nouvelles versions des archétypes). En fait, je ne pense pas que l'objectif archetype:crawl soit destiné à cet usage. J'aimerais que tous les projets publient leurs archétypes.

1voto

Alex Miller Points 28225

Terracotta en a un, mais je ne connais pas l'adresse... je vous la communiquerai. Par ailleurs, j'ai utilisé dans le passé des archétypes de AppFuse ( http://static.appfuse.org/releases/ ) et Webtide bien que je ne sache pas où trouver leurs catalogues d'archétypes.

Le référentiel et le catalogue Terracotta sont ici : http://www.terracotta.org/download/reflector/maven2/

Peut-être que ceci est utile : http://docs.codehaus.org/display/MAVENUSER/Archetypes+List

1voto

Brian Fox Points 3068

L'index nexus qui est produit par Nexus et consommé par M2eclipse connaît tous les archétypes et vous permet de les choisir lorsque vous créez un nouveau projet maven à partir de l'ide.

1voto

jeevatkm Points 467

Pour la liste des archétypes Maven, voir ce lien http://www.myjeeva.com/2012/06/exclusive-maven-archetype-list/ (vous trouverez environ 607 archétypes).

En utilisant mvn archetype:generate commande à la question de Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 197:

fournir numéro d'archétype du lien ci-dessus.

Note : la valeur par défaut est 197

  • 197 -> org.apache.maven.archetypes:maven-archetype-quickstart (Un archétype qui contient un exemple de projet Maven.)

0voto

Matthew McCullough Points 7713

Codehaus propose une autre ressource pour une liste très complète d'archétypes sur le net. http://docs.codehaus.org/display/MAVENUSER/Archetypes+List

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X