2009-05-04 8 views

Antwort

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; 
    } 

Hier kann PluginDescriptor von pluginManager.getPluginDescriptorForPrefix ("Präfix-for-your-Plugin") abgeholt werden. PluginManager ist verfügbar als @component role = "org.apache.maven.plugin.PluginManager"

+0

Ich habe diese Lösung mit großem Erfolg auf maven2 verwendet, aber als ich zu maven3 wechselte, hörte es auf zu arbeiten. In maven3 erhält es die ** mojoDescriptorList ** für die neueste Version im Maven-Repository und nicht die Version, die ich verwende. Wenn Sie also ein Ziel in der neuesten Version Ihres Plugins entfernt haben und Sie ein älteres Plugin verwenden, fehlt ** mojoDescriptorList ** ein Ziel, das in der alten Version des Plugins noch vorhanden ist. – Pylinux

Verwandte Themen