对于Maven2,如何在Mojo的execute方法中获取当前正在执行的目标名称?确切地说,我需要Mojo的execute方法中@goal属性的值。
答案 0 :(得分: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;
}
这里,可以从pluginManager.getPluginDescriptorForPrefix(“prefix-for-your-plugin”)获取PluginDescriptor。 PluginManager可用作@component role =“org.apache.maven.plugin.PluginManager”