2010-09-12 5 views

Répondre

35

Les profils définis dans un POM parent sont hérités dans un POM enfant qui étend le parent, il n'y a rien à faire. Et juste au cas où, le Maven Help Plugin a des objectifs très utiles permettant de traiter les profils:

+0

C'était en quelque sorte un ajout à votre réponse (un exemple), pas vraiment une réponse à part entière. Puis j'ai réalisé que j'avais mal lu la question OP. – Justin

+0

@Justin Ok, je l'ai maintenant :) –

+3

Le seul probmlem, que dans les profils enfant l'aide: profils actifs ne montrent pas le profil hérité, ce qui est trompeur je pense. –

4

Ce n'est pas seulement possible, c'est obligatoire. Si vous déclarez un POM parent, vous obtenez tous ses profils.

+0

Pouvez-vous fournir une source à cela? Cela conduit à ma frustration extrême où je veux exécuter un but seulement par l'activation et seulement dans le parent. Ma pensée était que je pourrais le faire via un profil, mais non, je ne suis pas sûr. – mkobit

6

Je ne pense pas qu'il soit hérité. http://www.dashbay.com/2011/03/maven-profile-inheritance/ http://looking4q.blogspot.com/2011/01/maven-profiles-inheritance.html Vous pouvez trouver les profils disponibles est très probablement parce qu'ils sont activés par défaut

+2

Le premier lien semble très bien; vous pourriez envisager de résumer son contenu dans votre réponse. Le résultat est qu'ils sont hérités, mais pas entièrement: seules certaines fonctionnalités seront héritées et les profils hérités n'auront d'impact que sur le pom parent où ils sont définis, pas sur les poms enfants. – eis

0

Je l'ai testé profil inheritanced avec Maven 3.3.9. Si le pom parent déclare le module enfant (agrégation), le profil est visible dans le module enfant. Si le parent pom ne déclare pas de module enfant (héritage), le profil n'est pas visible.