elipse errorcode=87 bug 问题解决方案

情景:

在eclipse中,执行main方法函数。

 

错误提示:

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。

 

posted on 2014-10-22 11:47  5彩石头  阅读(490)  评论(0编辑  收藏  举报

导航