CreateProcess error = 206,文件名或扩展名太长

时间:2012-01-13 12:57:25

标签: ant findbugs

我正在尝试通过 Ant 调用 Findbugs ,但收到此错误:

Cannot run program "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" (in 
directory "H:\Users\MyName\workspace\MyProject"): 
CreateProcess error=206, The filename or extension is too long

我该如何解决这个问题? o.O

3 个答案:

答案 0 :(得分:6)

我遇到了同样的问题。 我用了

<fileset dir="${basedir}/build">
  <include name="**/*.class"/>
</fileset>

在findbugs目标里面,似乎有太多.class文件要传递给findbug(?通过命令行?),因为当我使用时

<fileset dir="${basedir}/build/com/domain/package">
  <include name="**/*.class"/>
</fileset>

班级数量很少,错误消失了。

所以,我通过制作一个jar文件并用

将其提供给findbugs目标来解决问题
<findbugs home="${findbugs.home}">
  ...
  <class location="${basedir}/targets/classes-to-analyze.jar"/>
</findbugs>

答案 1 :(得分:0)

我认为当java尝试编译clases时,其中一个有效的文件路径真的很长。

值得尝试的是将代码库放在C:\ MyProject等目录中,而不是像C:\ Users \ MyName \ workspace \ MyProject

这样的目录。

答案 2 :(得分:0)

仅启动调试模式时,我在IntelliJ上遇到了相同的错误。要解决的是我已更改:

运行> 编辑配置> “配置”标签> 缩短命令行

“ JAR清单”