Sto provando a generare report di copertura del codice usando il plugin di cobertura.Cobertura fornisce una lista di argomenti troppo lunga
ho questa dipendenza nel mio pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>cobertura</goal>
</goals>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</execution>
</executions>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
quando costruire il mio progetto utilizzando questo obiettivo -U -B installazione pulita cobertura: Cobertura, ottengo l'errore qui sotto sul mio Jenkins CI
16:37:31 [ERROR] Failed to execute goal org.codehaus.mojo:cobertura-maven-plugin:2.6:instrument (default-cli) on project TestModule: Unable to execute Cobertura. Error while executing process. Cannot run program "/bin/sh": error=7, Argument list too long -> [Help 1]
16:37:31 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:cobertura-maven-plugin:2.6:instrument (default-cli) on project TestModule: Unable to execute Cobertura.
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:364)
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:198)
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
16:37:31 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
16:37:31 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
16:37:31 at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
16:37:31 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
16:37:31 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
16:37:31 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
16:37:31 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
16:37:31 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
16:37:31 at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
16:37:31 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
16:37:31 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
16:37:31 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
16:37:31 at java.lang.reflect.Method.invoke(Method.java:602)
16:37:31 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
16:37:31 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
16:37:31 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
16:37:31 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
16:37:31 Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to execute Cobertura.
16:37:31 at org.codehaus.mojo.cobertura.tasks.AbstractTask.executeJava(AbstractTask.java:244)
16:37:31 at org.codehaus.mojo.cobertura.tasks.InstrumentTask.execute(InstrumentTask.java:139)
16:37:31 at org.codehaus.mojo.cobertura.CoberturaInstrumentMojo.execute(CoberturaInstrumentMojo.java:162)
16:37:31 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
16:37:31 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
16:37:31 ... 23 more
16:37:31 Caused by: org.codehaus.plexus.util.cli.CommandLineException: Error while executing process.
16:37:31 at org.codehaus.plexus.util.cli.Commandline.execute(Commandline.java:656)
16:37:31 at org.codehaus.plexus.util.cli.CommandLineUtils.executeCommandLine(CommandLineUtils.java:144)
16:37:31 at org.codehaus.plexus.util.cli.CommandLineUtils.executeCommandLine(CommandLineUtils.java:107)
16:37:31 at org.codehaus.mojo.cobertura.tasks.AbstractTask.executeJava(AbstractTask.java:240)
16:37:31 ... 27 more
16:37:31 Caused by: java.io.IOException: Cannot run program "/bin/sh": error=7, Argument list too long
16:37:31 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
16:37:31 at java.lang.Runtime.exec(Runtime.java:615)
16:37:31 at java.lang.Runtime.exec(Runtime.java:526)
16:37:31 at org.codehaus.plexus.util.cli.Commandline.execute(Commandline.java:636)
16:37:31 ... 30 more
16:37:31 Caused by: java.io.IOException: error=7, Argument list too long
16:37:31 at java.lang.UNIXProcess.<init>(UNIXProcess.java:139)
16:37:31 at java.lang.ProcessImpl.start(ProcessImpl.java:152)
16:37:31 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
16:37:31 ... 33 more
La build è successo sulla mia macchina Windows, ma non riesce a Jenkins. Quando eseguo il downgrade della versione di cobertura alla 2.5.1 questo errore va via ma ottengo alcune eccezioni di analisi poiché il parser per cobertura per 2.5.1 non è aggiornato con la sintassi java.
Qualcuno può aiutarlo ad ottenere questo lavoro per le versioni 2.6.0 e superiore per cobertura
allegare pls uno screenshot con le impostazioni? – stanjer
Quali impostazioni sono necessarie. Ho incollato le impostazioni del plugin di cobertura nelle domande. In locale (Windows Machine) con queste impostazioni genera il file coverage.xml ma in jenkins fallisce – user2973475
Per favore, leggi la mia risposta e dacci le tracce di debug in modo da poterti aiutare – jfcorugedo