Как программно вызвать плагин зависимостей maven

Я пытаюсь вызвать maven-dependency-plugin программно. Я использую версию maven 3. проблема в том, что когда я вызываю его через pluginManager.executeMojo (сеанс, выполнение), я получаю следующее сообщение об ошибке:

[ERROR] **The parameters 'project', 'local', 'remoteRepos',
'reactorProjects' for goal
org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack are
missing or invalid**
**org.apache.maven.plugin.PluginParameterException: The parameters 'project',
'local', 'remoteRepos', 'reactorProjects' for goal
org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack are missing or
invalid**
        at org.apache.maven.plugin.internal.DefaultMavenPluginManager
        .populatePluginFields(DefaultMavenPluginManager.java:518)
        at org.apache.maven.plugin.internal.DefaultMavenPluginManager
        .getConfiguredMojo(DefaultMavenPluginManager.java:471)
        at org.apache.maven.plugin.DefaultBuildPluginManager
        .executeMojo(DefaultBuildPluginManager.java:99)
        at com.sap.ldi.qi.osgi.OSGiManifesrMfHandlerMojo
        .invokeMavenDependencyPlugin(OSGiManifesrMfHandlerMojo.java:139)
        at com.sap.ldi.qi.osgi.OSGiManifesrMfHandlerMojo
        .execute(OSGiManifesrMfHandlerMojo.java:100)
        at org.apache.maven.plugin.DefaultBuildPluginManager
        .executeMojo(DefaultBuildPluginManager.java:110)
        at org.apache.maven.lifecycle.internal.MojoExecutor
        .execute(MojoExecutor.java:144)
        at org.apache.maven.lifecycle.internal.MojoExecutor
        .execute(MojoExecutor.java:87)
        at org.apache.maven.lifecycle.internal.MojoExecutor
        .execute(MojoExecutor.java:79)
-- many lines stripped from stack trace --
[INFO] ----------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ----------------------------------------------------------------------
[INFO] Total time: 17.938s
[INFO] Finished at: Mon Nov 22 10:27:42 EET 2010
[INFO] Final Memory: 12M/23M
[INFO] ----------------------------------------------------------------------
[ERROR] Failed to execute goal
com.sap.ldi.qi:osgi-manifest-handler-plugin:0.0.1-SNAPSHOT:handle
(osgi-manifest-handler plugin) on project com.sap.ldi.demo.calc
.cmd.tests: The parameters 'project', 'local', 'remoteRepos',
'reactorProjects' for goal
org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack are missing
or invalid -> [Help 1]
-- stripped rest --

Насколько я знаю, единственным обязательным параметром для цели распаковки плагина зависимостей maven является artifactItems. Я установил конфигурацию плагина с помощью метода PluginExecution.setConfiguration (). Похоже, что эта конфигурация плагина установлена ​​неправильно. У вас есть идеи, почему возникает это исключение?

Вот конфигурация, которую я использую:

<configuration>
  <artifactItems>
    <artifactItem>
      <groupId>com.sap.ldi.demo.calc</groupId>
      <artifactId>com.sap.ldi.demo.calc.cmd</artifactId>
      <version>0.1.2-SNAPSHOT</version>
      <type>jar</type>
      <overWrite>true</overWrite>
      <outputDirectory>target/demo-calc-stuff</outputDirectory>
      <includes>**/*.*</includes>
    </artifactItem>
  </artifactItems>
</configuration>

Спасибо


Одно исправление с моей стороны. Используемая версия Maven - это не Maven 3.0, а Maven 3.0-beta-1. Я вижу, что BuildPluginManager.loadPlugin () в версии 3.0-beta-1 имеет два аргумента, а тот же метод в версии 3.0 имеет три. Мне интересно, пробовал ли кто-нибудь программно вызвать плагин maven с помощью maven 3.0 или maven 3.0-beta-1. Я все еще пытаюсь вызвать его с помощью maven 3.0-beta-1, но он по-прежнему возвращает то же исключение, что и вставлено выше.

8
задан Bill the Lizard 27 September 2011 в 21:43
поделиться