Eclipse/JUnit CreateProcess error=206, 文件名或扩展名也是如此

・2 分钟阅读

尝试在Windows 7上运行Eclipse (helios )中的一些junit测试时遇到这个问题。

错误:


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)
....

解决方案


  • Eclipse修补程序:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193


  • 缩短类路径:

http://stackoverflow.com/questions/201816/how-to-set-a-long-java-classpath-in-msdos-windows

若要应用Eclipse修补程序,请执行下列操作:


  • 从上面的链接下载bug327193 3.4.2 hack.zip

  • 备份现有的eclipse/plugins/org.eclipse.jdt.launching_3.4.*.jar

  • 将补丁中的类复制,并且粘贴到org.eclipse.jdt.launching JAR (替换现有文件)中的org/eclipse/jdt/internal/launching

  • 通过删除从第一个"NAME:"开始的所有内容来编辑META-INF/MANIFEST.MF文件中的文件,请确保在文件末尾留下两(2)行换行字符,

  • 重启

希望如果您找不到更简单的解决方案,这会有所帮助。

Xn_warm profile image