2009-05-04 11 views

答えて

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( "プレフィックスのために - あなた - プラグイン")からフェッチすることができます。 PluginManagerは@component role = "org.apache.maven.plugin.PluginManager"として利用可能です

+0

私はこのソリューションをmaven2で大いに成功させましたが、maven3に切り替えると機能が停止しました。 maven3では、使用しているバージョンではなく、mavenリポジトリの最新バージョンの** mojoDescriptorList **を取得します。したがって、プラグインの最新バージョンで目標を削除し、古いプラグインを使用している場合は、** mojoDescriptorList **には古いバージョンのプラグインにはまだ存在する目標がありません。 – Pylinux

関連する問題