0

对于 Maven2,如何获取 Mojo 的执行方法中当前正在执行的目标名称?确切地说,我需要 Mojo 的执行方法中的 @goal 属性值。

4

1 回答 1

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"

于 2009-05-04T13:11:42.977 回答