Tout d'abord, merci d'avoir répondu :)
Aujourd'hui, je suis en train d'obtenir une meilleure compréhension de la façon dont fonctionne les archétypes regardant le tutoriel sur maven here, althought est encore très décevant.
Mon problème est que j'ai une erreur de build dans maven lorsque j'essaie de faire l'archétype mvn: générer une instruction. C'est, aussi simple que possible, mon problème. Le problème de construction dit que 'l'artefact défini n'est pas un archétype'.
J'ai essayé l'archétype de l'instruction décreaptée: create et l'erreur est plus ou moins la même mais il ajoute que 'Embedded error: Le descripteur META-INF/maven/archetype.xml est introuvable.' Dans mon archétype, il y a un fichier archetype.xml, donc il semble que l'instruction décryptée est décrémentée pour une bonne raison.
Mon instruction totale est au suivant
mvn archetype:generate
-DgroupId=my_groupid
-DartifactId=my_artifactid
-Dversion=1.0
-DarchetypeGroupId=archetype-foo-lib
-DarchetypeArtifactId=my.archetype.foo
-DarchetypeVersion=1.0
-DarchetypeRepository=C:/.m2/repository
-Dbasedir=C:/.m2/repository/archetype-foo-lib
-B
-DinteractiveMode=false
Dans basedir J'ai le pom.xml et le dom4j.jar et le dépôt est en place (dans un petit serveur tomcat). De plus, l'archétype est installé et archetypegroupid, archetypeartifacid et archetypeversion sont les mêmes que dans le dossier src \ main \ resources \ archetype-resources. J'ai également essayé de changer les barres obliques à '\' dans le base (juste au cas où) sans de meilleurs résultats.
Comme j'essaie maintenant de le faire directement dans la console maven, vous pouvez oublier le projet webapp et tout ça. Je peux espérer que ça marchera une fois qu'il aura commencé à fonctionner dans la console.
Hélas! J'ai aussi stacktrace (comme je l'ai fait avec -e paramètre)
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus
.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] Archetype defined by properties
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] The defined artifact is not an archetype
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: The defined artifact is not an archetype
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:715)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandalone
Goal(DefaultLifecycleExecutor.java:569)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:284)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6
0)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoFailureException: The defined artifact is
not an archetype
at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execu
te(CreateProjectFromArchetypeMojo.java:201)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
... 17 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Tue Mar 30 11:08:59 CEST 2010
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------
Depuis le dépôt pourrait être mauvais, je l'ai aussi changé le -DarchetypeRepository à c: .m2 \ dépôt, mais il échoue aussi myserably accomplir quelque chose de différent.
J'espère que ce post est plus perspicace.
Merci pour tous :) aléatoire
Edit: Ok, les nouvelles données. Je sais savoir pourquoi il ne semble pas être un archétype, et il semble que mvn archetype: generate -DarchetypeCatalog = local a 0 archétypes. Il semble donc que ce n'est pas installé. J'ai fait le mvn install et le mvn archetype: crawl mais cela ne fonctionne pas. Des idées pour lesquelles je ne peux pas installer mes propres archétypes? Merci encore :)
Editer à nouveau: Problème avec les archétypes locaux résolus, j'ai dû déplacer le fichier archetype-catalog.xml de ~/.m2/repository/à ~/.m2/puis juste comme ça Maven a trouvé mon archétypes locaux. Étrange de tout, ça me donne toujours la même erreur. J'ai également changé mon référentiel d'archétype et mon répertoire de base.
Dernière édition (j'espère!): Bien, j'ai finalement trouvé l'erreur. C'est tellement stupide que je me sens obligé de l'écrire (ça fait trois jours que je le sais). Mon archetypeArtifactId et mon archetypeGroupId ont été échangés (je veux dire, l'un était l'autre). Une fois que j'ai commencé à passer les paramètres corrtect (définis dans archetype-catalog.xml que, bien que, je devais encore passer à l'endroit correct) il a commencé à faire des merveilles. Merci aussi à tous ceux qui ont lu ou écrit :)
Merci pour votre réponse :) Malheureusement, l'application web cherche au bon endroit et je sers le bon pom.xml. Aussi, le web.xml a très peu de sécurité puisqu'il s'agira d'un projet intranet (il est en fait tous désactivé pour les problèmes de développement). J'ai essayé avec la console de maven (voir mon autre poste) et est probablement une configuration maven que je échoue à. Merci! – Random