2010-11-10 18 views
5

Dans un fichier POM, j'ai trouvé une configuration "maven-ear-plugin" qui utilise "defaultJavaBundleDir", mais il semble que "defaultLibBundleDir" soit correct (selon le schéma et la documentation).Est-ce que maven a changé l'élément ear de "defaultjavabundledir" en "defaultlibbundledir", si oui quand?

Le schéma Maven POM est la version 4.0.0.

Est-ce un vestige d'une ancienne version? Je n'ai pas trouvé d'explication pour ce changement, et je voudrais m'assurer que nous utilisons la notation correcte de manière fiable.

Répondre

8

Dans un POM fichier j'ai trouvé une configuration « maven-plugin-oreille » qui utilise « defaultJavaBundleDir », mais il semble que « defaultLibBundleDir » est correct (selon le schéma et divers documents).

En fait, l'élément configuration d'un plugin peut contenir quoi que ce soit. Donc <foo>bar</foo> est valide (et sera simplement "ignoré" par un plugin donné s'il s'agit d'un paramètre inconnu).

Est-ce un vestige d'une ancienne version? Je n'ai pas trouvé d'explication pour ce changement, et je voudrais m'assurer que nous utilisons la notation correcte de manière fiable.

Ce changement a été introduit pour la résolution de MEAR-46 que nous pouvons lire dans le (approximatif) commentaire du svn commit: r471886.

Ajouté defaultLibDir comme un alias de defaultJavaBundleDir qui est plus understable

Si vous regardez de plus près la diff, vous verrez que defaultLibBundleDir est le nouveau nom du paramètre et que l'ancien est defaultJavaBundleDir déclaré comme un alias.

Donc les deux fonctionnent, les deux font la même chose, mais seul le "nouveau" est documenté dans la liste des paramètres du mojo ear. Vous pouvez changer en toute sécurité à defaultLibBundleDir et cela rendra les choses plus claires.

+1

Merci pour la réponse. La chose étrange est que "defaultJavaBundleDir" n'a pas fonctionné pour construire le fichier EAR par le biais du déploiement à chaud dans Eclipse (c'est-à-dire en utilisant m2eclipse + WTP). C'est-à-dire que tous les fichiers jar sont placés dans le dossier racine du fichier EAR au lieu du répertoire spécifié. Mais quand je suis passé à "defaultLibBundleDir", il a commencé à fonctionner. Cela peut-il être dû à la façon dont m2eclipse interprète le POM? – Brummo

+0

Oui, c'est le cas. Nous avons eu le même problème avec m2e + WTP ne déployant pas l'EAR correctement, et en changeant "defaultJavaBundleDir" en "defaultJavaBundleDir" l'a réparé. – ocarlsen