情景:java
在eclipse中,执行main方法函数。eclipse
错误提示:maven
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 的路径根目录调整短一点也不至于就能解决问题。spa
正确的解决办法应该是从eclipse根源去解决,这个问题是因为eclipse的一个BUG致使的,须要打下补丁去完全解决该问题。ip
Eclipse bug report:https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193get
解决办法:it
一、根据本身的eclipse版本,在Eclipse bug report页面下载合适的补丁。好比个人eclipse indigo是3.6的,因此须要下载适合3.6版本的补丁。io
二、解压下载的文件,获得以下几个文件。
三、到Eclipse的安装目录 $Eclipse_HOME/plugins/下找到org.eclipse.jdt.launching_XXX.XXX.jar文件(XXX部分由不一样的版本可能不一样,好比个人就是org.eclipse.jdt.launching_3.6.0.v20110509.jar),把该文件进行解压
四、把下载的补丁的4个文件替换到解压jar的同路径org.eclipse.jdt.internal.launching下
五、把解压jar根目录下的META-INF/MANIFEST.MF用文本编辑器打开,把全部“Name:”开头的相似于如下的文本所有删除掉。个人版本中是从第26行开始,后面的所有删除掉。另外,注意删除完毕后,在最后必定要留上两个空行。保存。
六、返回到解压后的jar的根目录,采用打包命令 jar cf org.eclipse.jdt.launching_XXX.XXX.jar *.* (jar的文件名必定要和你原先的名称一致)进行打包。
七、打包获得 org.eclipse.jdt.launching_XXX.XXX.jar 后,把该jar替换覆盖至$Eclipse_HOME/plugins/,重启Eclipse。