"CreateProcess error=206, The filename or extension is too long"的一个解决方案

Mule Studio 启动时报错: java.io.IOException: Cannot run program "E:\2000\Java\JDKUpdate\bin\javaw.exe" (in directory "E:\BCS_SLN\BCS\DeveloperSource\mule\congou-runtime-esb"): CreateProcess error=206, ÎļþÃû»ò)չÃû
邀月工作室

本机环境为:中文版Windows 8 Enterprise X64, java JDK为32位1.6.0.35版本,Mule Studio 3.2.1 CE(集成自Eclipse 3.6 Sp1)

开始怀疑是Mule环境出错,采取如下措施:

1、删除.Mule文件夹,删除.metadata文件夹,重建工作空间,均无效。

2、删除JDK,并重新安装,重启机器,故障依旧。

3、删除JDK,并重新安装64位JDK,重启机器,故障依旧。

4、修改Mule Studio 工作空间编码为UTF-8,GBK,ISO-8859-1,错误依旧。

google,看到有文章这样描述:“CreateProcess error=206, The filename or extension is too long。”,原来那段乱码是这个意思。My God!

进而看到这篇文章http://support.microsoft.com/kb/830473/en-us

该文提到:“在Windows下命令行支持的字符串长度是有限制的,在计算机上运行 Microsoft Windows XP 或更高版本,可以在命令提示符下使用的字符串的最大的长度 8191 个字符。 在运行 Microsoft Windows 2000 或 Windows NT 4.0 的计算机上, 将最大长度可以在命令提示符下使用的字符串的为 2047 个字符。

解决方案:

(1)Use shorter names for folders and files.
(2)Reduce the depth of folder trees.
(3)Store files in fewer folders so that fewer folders are required in the PATH environment variable.
(4)Investigate possible methods that you can use to reduce the dependency of PATH for locating .dll files.

也就是说,windows下,shell指令的长度限制,导致JAVAW 后面的参数字符串(本例中
在加载每个JAR时都要加上E:\BCS_SLN\BCS\DeveloperSource\mule\congou-runtime-esb这个前缀,总长度超过8191,从而导致截断,报以上错误。

有人还写了例子验证,http://www.cnblogs.com/aigongsi/archive/2012/04/11/2442774.html

于是,修改工程所在路径为E:\mule\congou-runtime-esb,问题解决!

 邀月工作室

转载于:https://www.cnblogs.com/downmoon/archive/2012/11/18/2775587.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值