Eclipse启动报 CreateProcess error 错误正确解决办法

今天遇到在用Eclipse indigo 3.6启动一个类的Main方法时遇到报错,启动不成功,Eclipse弹出如下异常:

Exception occurred executing command line. 
Cannot run program “D:\soft\Java\jdk1.6.0_12\bin\javaw.exe” (in directory “E:\DevCode\Ali\20121008_ordercenter”): CreateProcess error=87, ²ÎÊý´í

 

网上有人说是由于classpath路径太长导致,有人说是Maven仓库的路径太长导致,总之由于路径长导致是对的,但是网上的很多解决的办法是去把路径改短,这里有投机取巧之嫌,因为万一路径超长,就算把maven respositroy 的路径根目录调整短一点也不至于就能解决问题。

正确的解决办法应该是从eclipse根源去解决,这个问题是由于eclipse的一个BUG导致的,需要打下补丁去彻底解决该问题。

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

 

解决步骤:

1、根据自己的eclipse版本,在 Eclipse bug report页面 下载合适的补丁。比如我的eclipse indigo是3.6的,所以需要 下载适合3.6版本的补丁 。

2、解压下载的文件,得到如下几个文件。

3、到Eclipse的安装目录 $Eclipse_HOME/plugins/下找到org.eclipse.jdt.launching_XXX.XXX.jar文件(XXX部分由不同的版本可能不同,比如我的就是org.eclipse.jdt.launching_3.6.0.v20110509.jar),把该文件进行解压

4、把下载的补丁的4个文件替换到解压jar的同路径org.eclipse.jdt.internal.launching下

5、把解压jar根目录下的META-INF/MANIFEST.MF用文本编辑器打开,把所有“Name:”开头的类似于以下的文本全部删除掉。我的版本中是从第26行开始,后面的全部删除掉。另外,注意删除完毕后,在最后一定要留上两个空行。保存。

6、返回到解压后的jar的根目录,采用打包命令 jar cf  org.eclipse.jdt.launching_XXX.XXX.jar *.* (jar的文件名一定要和你原先的名称一致)进行打包。

7、打包得到 org.eclipse.jdt.launching_XXX.XXX.jar 后,把该jar替换覆盖至$Eclipse_HOME/plugins/,重启Eclipse,OK,问题解决了吧?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值