0

Maven2 の場合、Mojo の execute メソッドで現在実行されているゴールの名前を取得するにはどうすればよいですか? 正確には、Mojo の execute メソッド内に @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;
    }

ここで、PluginDescriptor は pluginManager.getPluginDescriptorForPrefix("prefix-for-your-plugin") から取得できます。PluginManager は @component role="org.apache.maven.plugin.PluginManager" として利用できます

于 2009-05-04T13:11:42.977 に答える