2009-05-04 2 views

Répondre

1
public static String getGoalName(PluginDescriptor pluginDescriptor, String mojoClassName) { 
     String goalName=null; 
     List<MojoDescriptor> mojoDescriptorList = pluginDescriptor.getMojos(); 
     for (MojoDescriptor mojoDescriptor : mojoDescriptorList) { 
      if (mojoDescriptor.getImplementation().equals(mojoClassName)) { 
       goalName=mojoDescriptor.getGoal(); 
       break; 
      } 
     } 
     return goalName; 
    } 

Ici, PluginDescriptor peut être récupéré à partir pluginManager.getPluginDescriptorForPrefix ("préfixe pour-votre-plugin"). PluginManager est disponible en tant que @component role = "org.apache.maven.plugin.PluginManager"

+0

J'ai utilisé cette solution avec beaucoup de succès sur maven2, mais quand je suis passé à maven3, il a cessé de fonctionner. Dans maven3, il obtient le ** mojoDescriptorList ** pour la dernière version dans le dépôt maven, et non la version que j'utilise. Donc, si vous avez supprimé un objectif dans la dernière version de votre plugin, et que vous utilisez un plugin plus ancien, ** mojoDescriptorList ** manquera un objectif qui est toujours présent dans l'ancienne version du plugin. – Pylinux

Questions connexes