[ https://issues.apache.org/jira/browse/MJDEPS-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16799059#comment-16799059 ]
Mathieu DREANO edited comment on MJDEPS-3 at 3/22/19 2:23 PM: -------------------------------------------------------------- Hello [~rfscholte], I modified the plugin to use ProcessBuilder API instead of plexus-util. ([https://stackoverflow.com/questions/55123717/shorten-classpath-cp-for-command-line]) It seems to solves the problem. But I don't really understand how to handle the results (I commented everything in executeJDepsCommandLine method) {code:java} private void executeWithProcessBuilderAPI( final Commandline cmd ) throws MojoExecutionException { System.out.println( "START: execute command Line with ProcessBuilder" ); ProcessBuilder processBuilder = new ProcessBuilder( cmd.getCommandline() ); try { final Process process = processBuilder.start(); } catch ( IOException e ) { e.printStackTrace(); throw new MojoExecutionException( e.getMessage() ); } System.out.println( "END: execute command Line with ProcessBuilder" ); } {code} was (Author: mathieudreano): Hello [~rfscholte], I modified the plugin to use ProcessBuilder API instead of plexus-util. (https://stackoverflow.com/questions/55123717/shorten-classpath-cp-for-command-line) It seems to solves the problem. But I don't really understand how to handle the results (I commented everything in executeJDepsCommandLine method) {code:java} private void executeWithProcessBuilderAPI( final Commandline cmd ) throws MojoExecutionException { System.out.println( "START: execute command Line with ProcessBuilder" ); getLog().info( "Executing: " + CommandLineUtils.toString( cmd.getCommandline() ).replaceAll( "'", "" ) ); ProcessBuilder processBuilder = new ProcessBuilder( cmd.getCommandline() ); try { final Process process = processBuilder.start(); System.out.println( "process started" ); File log = new File( getProject().getBasedir(), "jdeps.log" ); processBuilder.redirectErrorStream( true ); processBuilder.redirectOutput( Redirect.appendTo( log ) ); process.getInputStream(); String finalString = new String( process.getInputStream().readAllBytes() ); System.out.println( finalString ); System.out.println( "process ended" ); } catch ( IOException e ) { e.printStackTrace(); throw new MojoExecutionException( e.getMessage() ); } System.out.println( "END: execute command Line with ProcessBuilder" ); } {code} > Can't handle long classpath > --------------------------- > > Key: MJDEPS-3 > URL: https://issues.apache.org/jira/browse/MJDEPS-3 > Project: Maven JDeps Plugin > Issue Type: Bug > Environment: Java version: 1.8.0_131, vendor: Oracle Corporation > Java home: C:\java\jdk8\jre > Default locale: en_US, platform encoding: Cp1252 > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" > Reporter: Clas Forsberg > Priority: Critical > Attachments: error.txt > > > When running I got this error > Cannot run program "C:\java\jdk8\jre\..\bin\jdeps.exe": CreateProcess > error=206, The filename or extension is too long > Mavan debug log attached -- This message was sent by Atlassian JIRA (v7.6.3#76005)