Quelles sont les URL de tous les catalogues D'archétype Maven que vous connaissez?

Les archétypes Maven sont les "modèles" par lesquels vous pouvez générer rapidement un exemple en cours d'exécution d'un framework ou d'un type de projet donné. J'essaie de compiler une liste de tous les catalogues d'archétype Maven actuellement actifs sur le net.

De la documentation Maven sur les fichiers de catalogue :

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

Les catalogues sont des fichiers xml.

Le Plugin archétype est livré avec un intérieur catalogue. Celui-ci est utilisé par défaut.

Le Plugin Archetype peut utiliser des catalogues du système de fichiers local et de HTTP connexion.

Jusqu'à présent, j'ai rassemblé cette liste de dépôts qui publient des catalogues, mais j'aimerais voir si quelqu'un en sait plus:

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 le même: 1) FuseSource 2) cocon 3) Java.net 4) MyFaces 5) Tapisserie 6) Catalogue Scala 7) terre cuite Catalogue

Vous remarquerez que si le référentiel publie réellement un catalogue archétype (tout ce qui précède le fait), vous obtiendrez une invite D'interface utilisateur de tous les choix trouvés dans ce 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 afficher directement le fichier de catalogue Scala, par exemple, vous pouvez accéder à http://scala-tools.org/archetype-catalog.xml

Mais si le référentiel ne fournit pas un archetype-catalog.xml, alors comme le dit PascalT, vous aurez besoin de connaître le nom dans avancez (beaucoup moins pratique) et passez-le dans les arguments de ligne de commande.

43
demandé sur Jean-Rémy Revy 2009-03-11 20:24:31

5 réponses

pour être honnête, je ne vois pas vraiment le point de construire une liste de tous les catalogues. Il semble plus "naturel" pour moi de choisir un projet, puis ajouter le catalogue si nécessaire. C'est pourquoi il y a IMO plus de valeur dans une liste d'archétypes. Vous aurez besoin de leur nom de toute façon, même si vous avez tous les catalogues dans une liste.

De toute façon, voici quelques candidats;

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

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

Le but des catalogues est exactement de ne pas avoir à connaître les noms des archétypes à l'avance. Ils sont faits pour publier des archétypes et permettent à mvn archetype:generate de lister des archétypes. Il est donc logique d'ajouter des catalogues "externes" (comprendre pas dans le 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).

Concernant mes propositions:

  • Les archétypes D'Atlassian sont dans le catalogue interne. Pas une bonne proposition.

  • Les archétypes Grails ne sont pas dans le catalogue interne ou dans un archetype-catalog.xml publié. pas un bon proposition.

  • ServiceMix a catalogues ici http://servicemix.apache.org/tooling/ (basé sur un http://servicemix.apache.org/tooling/<version>/archetype-catalog.xml modèle). proposition valide.


Une chose amusante que j'ai apprise en creusant ceci. Les gars Maven fournit un bel outil qui aide les gens à développer des archétypes pour créer un catalogue XML: l'objectif archetype:crawl analyse essentiellement 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. Projets, les gens ont juste à courir 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 exécuter:

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 que nous avons fait cela, nous avons l'archétype dans notre référentiel local. Donc, si nous tapons:

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

, L'archétype être listé dans ~/.m2/archetype-catalog.xml et nous pouvons maintenant utiliser le mvn archetype:generate pour Graal trop (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)
...

C'est bien sûr une solution de contournement (énorme) et cela pourrait avoir des effets secondaires (vous ne le ferez pas voir les nouvelles versions des archétypes). En fait, je ne pense pas que l'objectif archetype:crawl soit destiné à cet usage. Je voudrais que tous les projets les publient leurs archétypes.

16
répondu Pascal Thivent 2009-03-14 05:08:17

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

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

Fournir Numéro d'archétype à partir du lien ci-dessus.

Remarque: la valeur par défaut est de 197

  • 197 -> org.Apache.maven.archétypes: Maven-archetype-quickstart (un archétype qui contient un exemple de projet Maven.)
2
répondu jeevatkm 2012-07-01 06:19:13

Terracotta en a un mais je ne connais pas l'url...nouveau. En outre, j'ai utilisé des archétypes dans le passé à partir de AppFuse (http://static.appfuse.org/releases/) et Webtide bien que je ne sais pas où trouver leurs catalogues d'archétype.

Le dépôt et le catalogue en terre cuite sont ici: http://www.terracotta.org/download/reflector/maven2/

Peut-être que c'est utile: http://docs.codehaus.org/display/MAVENUSER/Archetypes + Liste

1
répondu Alex Miller 2009-03-13 20:27:24

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.

1
répondu Brian Fox 2009-07-16 12:30:48

Il y a encore une autre ressource à Codehaus pour une liste très robuste d'archétypes sur le net. http://docs.codehaus.org/display/MAVENUSER/Archetypes + Liste

0
répondu Matthew McCullough 2010-02-05 22:47:53