Hi,
I like to use the maven-invoker plugin in my own plugin, but it failes with an
error...
i use maven 2.2.1, in the pom.xml i have
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-invoker</artifactId>
<version>2.0.11</version>
</dependency>
and the error is:
[INFO] [idl-builder:build {execution: default-cli}]
[FATAL ERROR] de.idlbuilder.IdlBuilder#execute() caused a linkage error
(java.lang.NoSuchMethodError) and may be out-of-date. Check the realms:
[FATAL ERROR] Plugin realm =
app0.child-container[de.plugins:maven-idl-builder-plugin:0.1-SNAPSHOT]
urls[0] = file:/C:/Dokumente und
Einstellungen/user/.m2/repository/de/fw/plugins/maven-idl-builder-plugin/0.1-SNAPSHOT/maven-idl-builder-plugin-0.1-SNAPSHOT.jar
urls[1] = file:/C:/Dokumente und
Einstellungen/user/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
urls[2] = file:/C:/Dokumente und
Einstellungen/user/.m2/repository/org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar
urls[3] = file:/C:/Dokumente und
Einstellungen/user/.m2/repository/com/google/collections/google-collections/1.0/google-collections-1.0.jar
[FATAL ERROR] Container realm = plexus.core
urls[0] =
file:/D:/development/build-tools/apache-maven-2.2.1/lib/maven-2.2.1-uber.jar
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO]
org.codehaus.plexus.util.cli.Commandline.createArg()Lorg/codehaus/plexus/util/cli/Arg;
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.NoSuchMethodError:
org.codehaus.plexus.util.cli.Commandline.createArg()Lorg/codehaus/plexus/util/cli/Arg;
at
org.apache.maven.shared.invoker.MavenCommandLineBuilder.setFlags(MavenCommandLineBuilder.java:407)
at
org.apache.maven.shared.invoker.MavenCommandLineBuilder.build(MavenCommandLineBuilder.java:83)
at
org.apache.maven.shared.invoker.DefaultInvoker.execute(DefaultInvoker.java:91)
at de.idlbuilder.IdlBuilder.execute(IdlBuilder.java:46)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Fri Jan 28 16:28:31 CET 2011
[INFO] Final Memory: 16M/39M
[INFO] ------------------------------------------------------------------------
I am calling it with
InvocationRequest request = new DefaultInvocationRequest();
request.setBaseDirectory(file.getParentFile());
request.setGoals(newArrayList("clean", "generate-sources"));
request.setPomFile(file);
Invoker invoker = new DefaultInvoker();
invoker.execute(request);
thanks for any help