Classpath too long on windows with useManifestOnlyJar=false -----------------------------------------------------------
Key: SUREFIRE-727 URL: http://jira.codehaus.org/browse/SUREFIRE-727 Project: Maven Surefire Issue Type: Bug Components: Maven Surefire Plugin Affects Versions: 2.8.1 Reporter: kevin aloisi Priority: Critical If the useMandifestOnlyJar=false, then then jnuit won't run on windows because the classpath is to long. The better way to fork a java process is to set the CLASSPATH env variable instead of passing it on the command line. This patch fixes the issue. Index: src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java =================================================================== --- src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java (revision 1092789) +++ src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java (working copy) @@ -221,13 +221,13 @@ } else { - cli.createArg().setValue( "-classpath" ); - - cli.createArg().setValue( StringUtils.join( classPath.iterator(), File.pathSeparator ) ); +// cli.createArg().setValue( "-classpath" ); +// cli.createArg().setValue( StringUtils.join( classPath.iterator(), File.pathSeparator ) ); + cli.addEnvironment("CLASSPATH",StringUtils.join( classPath.iterator(), File.pathSeparator )); + + final String forkedBooter = ForkedBooter.class.getName(); - final String forkedBooter = ForkedBooter.class.getName(); - - cli.createArg().setValue( shadefire ? new Relocator( ).relocate( forkedBooter ) : forkedBooter); + cli.createArg().setValue( shadefire ? new Relocator( ).relocate( forkedBooter ) : forkedBooter); } cli.setWorkingDirectory( workingDirectory.getAbsolutePath() ); -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira