我的任务是尝试让 JSLint 工作输出到 XML 文件,但我遇到了一些障碍。我遇到了返回“CreateProcess error=206,文件名或扩展名太长”的错误。
我的意图是尝试抓取文件夹中的所有内容,而不必将其拆分为单独的文件路径,尽管我认为这可能是我必须做的。
我的基本蚂蚁目标如下:
<target name="d">
<fileset dir="../" id="src.files">
<include name="**/*.js"/>
</fileset>
<pathconvert pathsep=" " refid="src.files" property="spacedelim"/>
<exec executable="java" output="jslint.xml">
<arg line="-jar jslint4java-2.0.2.jar --report xml ${spacedelim}" />
</exec>
</target>
spacedelim 返回包含 js 文件的文件夹内所有以 js 结尾的文件的空格分隔列表。如果我粘贴 ${spacedelim} 包含的文件列表,那么即使在调用 ant 目标时它也可以正常工作......所以我真的不知道该怎么做。
这是完整的错误:
BUILD FAILED
D:\dev\features\2011.2\webui\wmd\webclient\jslint4java-2.0.2\build.xml:53: Execu
te failed: java.io.IOException: Cannot run program "java": CreateProcess error=206, The filename or extension is too long
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at java.lang.Runtime.exec(Runtime.java:593)
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Exec
ute.java:862)
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481)
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495)
at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:631)
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672)
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.io.IOException: CreateProcess error=206, The filename or extension is too long
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 24 more
Total time: 4 seconds
感谢任何人提供的任何见解!