关于eclipse运行TestNG出现: CreateProcess error=206, ÎļþÃû»ò)չÃû的解决办法

时间:2022-03-05 03:13:38

最近玩物流宝的一个项目,需要测试下3个系统打通的接口。

不测不要紧,一测吓一跳。我的乖乖:几百个bean被加进来。就凭我这肉机,内存不爆才怪。

于是换一套方案,用了另一个测试接口。

但是这个测试接口,用eclipse跑时出现了这样一个问题:

文字描述:

Exception occurred executing command line.
Cannot run program "C:\jdk1.6.0_32\bin\javaw.exe" (in directory "D:\d\workspace\20140103_35637_1-wlb\wlb\wlb-platform"): CreateProcess error=206, ÎļþÃû»ò)չÃû

具体形式:

关于eclipse运行TestNG出现: CreateProcess error=206, ÎļþÃû»ò)չÃû的解决办法

深究了下原因:

原来是在Windows下命令行支持的字符串长度是有限制的,在计算机上运行 Microsoft Windows XP 或更高版本,可以在命令提示符下使用的字符串的最大的长度 8191 个字符。 在运行 Microsoft Windows 2000 或 Windows NT 4.0 的计算机上, 将最大长度可以在命令提示符下使用的字符串的为 2047 个字符。(详细参照微软官方文档:http://support.microsoft.com/kb/830473/zh-cn

个人觉得解决办法有两个。

1、一个简单的解决方法是:
注意看我的工程目录全路径是D:\d\workspace\20140103_35637_1-wlb\wlb\wlb-platform,这样每加载一个文件,前面都会加上这个全路径的字符串,为了减少字符个数,可以将工程放到根目录下。此外,对于classpath下的jar包的路径,也应该越短越好,如果使用maven的话,可以将本地仓储路径设置在根目录下的文件夹下。

2、深究一下,会发现这个是eclipse 3.7 的一个bug。

可以查看:https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193

可以从根本上解决这个问题:

第一步 下载 bug3271933.4.2hack.zip 文件,这个是在https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193页面的最后一个zip,名字对上即可。
第二步 备份 本地eclipse/plugins/org.eclipse.jdt.launching_3.*.jar(*跟你的eclipse版本对上的,通配符)。
第三步 复制 bug3271933.4.2hack.zip 的class文件,替换你的org.eclipse.jdt.launching_3.*.jar中的class,路径为org/eclipse/jdt/internal/launching下。
第四步 修改org.eclipse.jdt.launching_3.*.jar中的META-INF /MANIFEST.MF 文件:删除以'name' 开头的元素直到最后两行 , 保留最后2行(也就是留最后一个name打头的元素)
第五步 重启 eclipse。
第六步,你会发现看到了曙光。