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