Pourquoi mes tests ne parviennent pas à exécuter lors de la migration de maven2 à Buildr?

StackOverflow https://stackoverflow.com/questions/1165752

Question

J'ai un projet java maven2 simple (système de relais JMS). Après avoir publié la première version, nous avons constaté que nous avons passé plus de temps à configurer Maven que réellement le codage.

Pour la prochaine version que nous voulions nettoyer le processus de construction et quelqu'un a suggéré la migration vers le constructeur. Donc, j'ai été chargé de faire cela.

buildr de configuration I (1.3.4) en fonction de la documentation sur leur site web. Et puis à partir de la racine du projet, je tapé la commande buildr puis informé buildr pour créer le fichier de construction basé sur mon pom.xml. Ce traité bien et tout le code compilé. Tout était sauce jusqu'à ce que buildr a commencé à courir les tests. Voici le ouput:

Test framework error: taskdef class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask cannot be found

Il est évident que la classe spécifiée est pas dans mon classpath. Cependant, la documentation buildr dit que tous les éléments nécessaires nécessaires pour les tests de base sont inclus. Leur documentation ne dit pas qu'ils ont besoin des bibliothèques spécifiques pour fourmi ou une version de fourmi. Bien que je n'ai 1.7.0 ant installé (non inclus dans mon classpath cependant).

Quelqu'un at-il vu cela auparavant?


Mise à jour

je trouve le pot-ant en option tristement célèbre sur le repository. Y compris dans mes options de test.with n'a pas résolu le problème.

L'exécution de la commande buildr avec --trace donne ces informations supplémentaires ...

Tests failed!
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:455:in `run_tests'
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:199:in `initialize'
Était-ce utile?

La solution

Trouvé la question ... Apparemment, il y a une fourmi-junit.jar qui est nécessaire, mais pour une raison quelconque dans mon dépôt local, il appartenait à la racine et non mon compte utilisateur local (système Mac OS X). Donc, il n'a pas été accessible à Buildr. J'ai supprimé les articles de mon référentiel local et rediffusé buildr (il a téléchargé les éléments nécessaires).


Mise à jour

En outre cela a causé quelques autres questions. Il semble que quelques autres articles dans mon dépôt local avaient des autorisations étranges. J'ai fini par l'archivage juste mon dépôt et de laisser maven reconstruisent. Cela résolu tous mes problèmes. J'ai maintenant un fichier de construction qui est bien 25 lignes de code par rapport à mon dossier précédent pom.xml qui était de plus de 100 lignes.

Autres conseils

Vous obtenez cette erreur, car JUnitTask est pas sur le chemin de classe. Je ne suis pas très familier avec Buildr ne peut donc pas dire si elle est nécessaire pour vous de spécifier les pots JUnit ou non, mais si Buildr utilise le système classpath, essayez d'ajouter JUnit et voir ce qui se passe.

Une fois que vous avez confirmé votre construit fonctionnera avec JUnit piraté le classpath, vous pouvez essayer de varier votre configuration jusqu'à ce qu'il fonctionne comme prévu, ou le laisser tel quel.

Pouvez-vous envoyer la référence à la partie pertinente de la documentation? Je ne vois rien (dans ma lecture très brève du site) qui dit les éléments nécessaires sont inclus.

Est-il possible que vous ne l'avez pas téléchargé toutes les pierres précieuses? Si vous exécutez « bijou mise à jour --system » mettre à jour Ruby, puis « mise à jour de gemme buildr » vous pouvez faire en sorte que les dépendances nécessaires ont tous été installés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top