【发布时间】:2025-12-01 13:00:01
【问题描述】:
对于 Maven2,如何获取 Mojo 的 execute 方法中当前正在执行的目标名称?确切地说,我需要 Mojo 的执行方法中 @goal 属性的值。
【问题讨论】:
标签: maven-2 maven-plugin mojo
对于 Maven2,如何获取 Mojo 的 execute 方法中当前正在执行的目标名称?确切地说,我需要 Mojo 的执行方法中 @goal 属性的值。
【问题讨论】:
标签: maven-2 maven-plugin mojo
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;
}
这里,PluginDescriptor 可以从 pluginManager.getPluginDescriptorForPrefix("prefix-for-your-plugin") 中获取。 PluginManager 可用作 @component role="org.apache.maven.plugin.PluginManager"
【讨论】: