站在巨人的肩膀上:http://wangchongan.com/articles/eclipse-createprocess-error.html
情景:
在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。
参考资料:http://coderwall.com/p/795oma
分享到:
相关推荐
windows下eclipse跑junit报错:CreateProcess error=206后面跟着乱码。 把这个jar替换掉就好了,放在:eclipse/plugins/下面。 参考:https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193
标题 "解决createprocess error code 740" 指的是在尝试运行一个应用程序时遇到的一个特定错误,其中 `CreateProcess` 是 Windows API 中用于创建新进程的函数。错误代码 740 表示 "请求的操作需要提升的权限",意味...
主要介绍了docker compose idea CreateProcess error=2 系统找不到指定的文件的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这个问题在描述中提到的"CreateProcess error = 206,文件名或扩展名太长"就是典型的例子,这是一个与操作系统限制相关的错误。 错误"CreateProcess error = 206"通常出现在Windows系统中,当尝试执行一个命令行...
没有提供 reg.exe 文件, 所以 Eclipse 要调用 genymotion 时 会报类似 Exception (VBoxManage): java.io.IOException: Cannot run program "C:\Program Files\Genymobile\Genymotion\/reg": CreateProcess error=2, ...
eclipse develop hadoop chmod :Cannot run program "chmod": CreateProcess error=2, ?????????-附件资源
xml验证 eclipse报错:CreateProcess error=87 Linux下调试运行配置 去掉滚动条自适应 滚轮事件
Android Protocol Buffers(简称ProtoBuf)是Google开发的一种数据序列化协议,用于高效地编码和解码结构化数据。在Android应用开发中,它被广泛用于数据存储、网络通信和跨平台消息交换,因为它提供了比XML和JSON更...
解决myeclipse10运行出现:CreateProcess error=87, ²ÎÊý´í 的问题,直接替换myeclipse安装路径\Common\plugins
在IT领域,尤其是在大数据处理和分布式计算中,Apache Hadoop是一个至关重要的开源框架。Hadoop 2.7.2版本的发布带来了许多增强和改进,为开发者提供了更稳定、高效的数据处理环境。在这个特定的资源中,我们关注的...
Cannot run program “D:\soft\Java\jdk1.6.0_12\bin\javaw.exe” (in directory “E:\DevCode\Ali\20121008_ordercenter”): CreateProcess error=87, ²ÎÊý´í 替换位置请查看...
在Java开发中,为了保护代码的安全性和防止未经授权的逆向工程,我们通常会对代码进行混淆。Maven作为Java项目管理的重要工具,可以帮助我们自动化构建、测试和打包过程。本篇文章将详细讲解如何使用Maven插件`...
16:16 Error running 'Specifications': Cannot run program "gauge" (in directory "D:\work\GIT\CuckooClock\AndroidClockDemo"): CreateProcess error=2, 系统找不到指定的文件。 16:18 Unable to start Gauge ...
当调用Tool类中的第二个方法时,指定的browerType的值为“chrome”,运行程序出现:java.io.IOException: Cannot run program "chrome": CreateProcess error=2, ????????? 解决方法:找到谷歌浏览器安装根目录...
在Java Web开发中,代码安全性和保护知识产权是一个重要的议题,其中一种有效的手段就是对源代码进行混淆处理。本文将深入探讨如何在Maven管理的Java Web项目中集成ProGuard工具来实现代码混淆功能,以及在过程中...
科尔多瓦插件保护 Cordova插件可激活ProGuard和缩小功能,以在您的cordova移动应用程序中进行调试和发布。 什么是ProGuard? ProGuard是Java字节码的开源优化器 您可以在和上阅读有关此内容的更多信息。...
基于2.3.2源码编译,修改NO_COMPRESS_PATTERN,添加ver格式免压缩,避免u8sdk分包时出现出现CreateProcess error=206, 文件名或 扩展名太长错误
Exception (VBoxManage): java.io.IOException: Cannot run program "D:\Program Files\Genymobile\Genymotion\/reg": CreateProcess error=2, 系统找不到指定的文件。