无法启动应用程序(CreateProcess error = 87),无法使用缩短classpath的变通方法

时间:2010-05-23 23:35:24

标签: eclipse windows-xp

当我在Windows上的Eclipse中启动应用程序时,我收到以下错误:

  

执行命令行时发生异常。

     

无法运行程序..:CreateProcess error = 87,参数不正确

我过去通过缩短CLASSPATH来解决这个问题。

我现在已经到了无法缩短CLASSPATH的程度,并且想知道是否还有其他解决方法。

http://support.microsoft.com/kb/830473似乎表明windows xp中的max命令提示行长度是8191个字符,唯一的解决方案是缩短文件夹名称,减少文件夹树的深度,使用参数文件等。

9 个答案:

答案 0 :(得分:16)

eclipsecoding FAQ page确实会确认您的诊断:

  

CLASSPATH太长时,程序无法启动(至少在Windows下) - 尝试缩短类路径。对于插件,您可以尝试删除不必要的插件。

您有here a thread详细说明日志错误。

由于您可以启动Eclipse而不是应用程序,因此我会检查您的启动配置中是否包含太多插件。你能检查一下是否有added only the required plugins

答案 1 :(得分:12)

作为解决方法:

  1. 为失败的任务打开eclipse运行配置。
  2. 选择classpath选项卡,选择默认类路径,单击“Edit ..”按钮
  3. 选中“仅包含导出的条目”复选框。
  4. 这使我能够在Eclipse 3.6(Helios)上解决这个问题

答案 2 :(得分:1)

我在Eclipse上处理同样的问题,因此,我决定尝试在Intellij上使用相同的项目,只是为了知道它是否是IDE问题。

令人惊讶的是,Intellij检测到了这个问题(长类路径)并向我显示了一个对话框,建议我使用动态类路径功能。启用此选项后,问题就消失了。

dynamic.classpath标志的作用是: What does the dynamic.classpath flag do? (IntelliJ project settings)

所以,现在我的问题是:有没有办法在Eclipse上做同样的事情?似乎是解决这个问题的简单而优雅的解决方案,而不是手动删除所有那些不必要的依赖项。

答案 3 :(得分:1)

使用动态链接,可以使用juncion轻松创建(http://technet.microsoft.com/en-us/sysinternals/bb896768)。为您的项目创建链接,并通过它添加到eclipse。 用法例如: md d:\ shortname 交叉点d:\ shortname \ d:\ my \ very \ long \ long \ long \ long \ long \ long \ projectnamefolder

答案 4 :(得分:1)

这是Eclipse中的已知错误:Bug 327193 - [patch]启动命令行超出了Windows上的进程创建命令限制

它将在2013年发布的Eclipse e4 4.3中得到修复。在3.4.2中修复它并不重要。但是在bug的附件中,你可以找到几个替换类来修复你的Eclipse版本。

答案 5 :(得分:1)

由于Eclipse Helios(我们部门正式支持的唯一版本)遇到了同样的问题,我解决问题的难度很大,这就是解决方案:

安装最新的Eclipse(在我的情况下,4.3.2完成了工作)。

此问题已被报告为Eclipse Bug:https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193,现已修复。

希望这有助于未来的用户访问此页面。

答案 6 :(得分:0)

我遇到了同样的问题。无论我尝试什么,尝试运行剪贴簿页面都不会成功。我检查了工作区中我的.plugins目录的内容。我注意到de org.eclipse.jdt.core目录中有很多索引文件。我重命名了这个目录,现在可以再次运行剪贴簿流程。

答案 7 :(得分:0)

我为Eclipse提供的一个解决方案是关闭通过Workspace Resolution启用的某些项目,而是从本地Maven存储库中解析这些项​​目。无论如何它对我有用

答案 8 :(得分:0)

我遇到了同样的问题,项目引用了un-build jar文件。 假设工具1.6.jar被构建并作为依赖项添加。稍后可能会更改tools-1.6.jar的源代码而不执行#mvn clean install。

我已经完成了干净的构建和更新的maven依赖,错误已经解决。