Maven2 to Maven3 Migration java.lang.reflect.InvocationTargetException

I am trying to upgrade to M3, but I have some problems / LOTS for development. I am stuck on one particular failure.

at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) 

This causes a stack overflow and then

 ERROR: Failed to parse POMs hudson.util.IOException2: java.lang.reflect.InvocationTargetException at hudson.maven.Maven3Builder.call(Maven3Builder.java:166) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:287) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:161) at hudson.maven.Maven3Builder.call(Maven3Builder.java:112) ... 10 more Caused by: java.lang.reflect.InvocationTargetException 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.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158) ... 11 more Caused by: java.lang.StackOverflowError at sun.nio.cs.SingleByteEncoder.encodeArrayLoop(SingleByteEncoder.java:91) at sun.nio.cs.SingleByteEncoder.encodeLoop(SingleByteEncoder.java:130) at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544) at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:252) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106) at java.io.OutputStreamWriter.write(OutputStreamWriter.java:190) at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111) at java.io.PrintStream.write(PrintStream.java:476) at java.io.PrintStream.print(PrintStream.java:619) at org.apache.maven.cli.PrintStreamLogger.info(PrintStreamLogger.java:110) at org.codehaus.plexus.logging.AbstractLogger.info(AbstractLogger.java:55) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:464) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:467)...about1000 more 

What's happening...?

+7
source share
4 answers

Updating the maven build plugin to the latest version fixes my problem.

 <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> 
+8
source

Workaround, not fix:

 set MAVEN_OPTS=-Xss2m 

What is fixed for me: make sure you specify the version for the maven build plugin and make sure it is updated.

 <artifactId>maven-assembly-plugin</artifactId> <version>2.2.1</version> 
+2
source

The stack trace shows that this is a StackOverflow error, try increasing the stack size to 5 MB or more by adding -Xss5M to the VM arguments.

+1
source

This crash log runs in Hudson. Can you make sure that it works on the command line. This will make it a lot easier. Also, if you want to work in Hudson, I would advise you to make sure that you are using the new Maven 3 integration, which allows you to take steps to create Maven 3 in a free style project and NOT use the Maven2 / 3 project type, as it was a declared legacy .

0
source

All Articles