Esbarre nisso hoje ao tentar executar alguns testes junit de dentro do eclipse (helios) no Windows 7.
Erro:
java.io.IOException: Cannot run program "C:Program FilesJavajre6binjavaw.exe" (in directory ""): CreateProcess error=206, The filename or extension is too long
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:818)
at org.eclipse.jdt.launching.AbstractVMRunner.exec(AbstractVMRunner.java:73)
at org.eclipse.jdt.internal.launching.StandardVMRunner.run(StandardVMRunner.java:317)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.launch(JUnitLaunchConfigurationDelegate.java:174)
....
Duas soluções
- Patches do Eclipse:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193
- Encurte o caminho de classe:
http://stackoverflow.com/questions/201816/how-to-set-a-long-java-classpath-in-msdos-windows
Para aplicar os patches do Eclipse:
- Baixe bug327193 3.4.2 hack.zip do link acima
- Faça backup de eclipse / plugins / org.eclipse.jdt.launching_3.4. *. Jar existente
- Copie e cole classes no patch para org / eclipse / jdt / internal / launching em seu org.eclipse.jdt.launching JAR (substitua os arquivos existentes)
- Edite o arquivo META-INF /MANIFEST.MF em seu arquivo JAR org.eclipse.jdt.launching removendo tudo a partir da primeira entrada “NOME:”. Certifique-se de deixar dois (2) caracteres de quebra de linha no final do arquivo.
- Reinicie o eclipse
Espero que isso ajude se você não conseguir encontrar uma solução mais fácil.