Eclipse 进行 ANT 时错误 Javadoc failed: java.io.IOException: Cannot run

完整的错误栈如下:[code]Buildfile: D:\workdir\Repositories\p\luke\trunk\build.xml
init:
javadoc:
[javadoc] Generating Javadoc
[javadoc] Javadoc execution

BUILD FAILED
D:\workdir\Repositories\p\luke\trunk\build.xml:40: Javadoc failed: java.io.IOException: Cannot run program “javadoc.exe”: CreateProcess error=2, The system cannot find the file specified

Total time: 319 milliseconds
[/code]错误截图

这是因为 Eclipse 的开发环境使用的是 JRE,我们需要把这里换成 JDK。

到 Windows 下面选择 preferences

然后选择 【Installed JREs】

选择【Add】新增

选择【Standard VM】

输入选择 JRE 的目录

注意目录在这里需要选择为 JDK

可以看到我们这里有 JDK 和 JRE ,我们可以只保留一个。

单击 【OK】完成 JRE 的配置。

重新编译,我们会发现编译已经顺利通过了。

控制台输出:Buildfile: D:\workdir\Repositories\p\luke\trunk\build.xml init: javadoc: [javadoc] Generating Javadoc [javadoc] Javadoc execution [javadoc] Creating destination directory: "D:\workdir\Repositories\p\luke\trunk\build\api\" [javadoc] Loading source files for package org.apache.lucene.index... [javadoc] Loading source files for package org.getopt.luke... [javadoc] Loading source files for package org.getopt.luke.decoders... [javadoc] Loading source files for package org.getopt.luke.plugins... [javadoc] Loading source files for package org.getopt.luke.xmlQuery... [javadoc] Constructing Javadoc information... [javadoc] Standard Doclet version 1.7.0 [javadoc] Building tree for all the packages and classes... [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\ClassFinder.java:86: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\ClassFinder.java:71: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\ClassFinder.java:104: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\GrowableStringArray.java:56: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\HighFreqTerms.java:118: warning - @param argument "field" is not a parameter name. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:504: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:4012: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:288: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:5120: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:415: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:405: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:637: warning - Tag @link: can't find openIndex(String, boolean, boolean, boolean) in org.getopt.luke.Luke [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:851: warning - @param argument "pName" is not a parameter name. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:851: warning - @param argument "readOnly" is not a parameter name. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:2358: warning - @param argument "method" is not a parameter name. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\XMLExporter.java:77: warning - @return tag has no arguments. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:998: warning - Tag @param cannot be used in field documentation. It can only be used in the following types of documentation: class/interface, constructor, method. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:998: warning - Tag @param cannot be used in field documentation. It can only be used in the following types of documentation: class/interface, constructor, method. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:998: warning - Tag @param cannot be used in field documentation. It can only be used in the following types of documentation: class/interface, constructor, method. [javadoc] D:\workdir\Repositories\p\luke\trunk\src\org\getopt\luke\Luke.java:998: warning - Tag @return cannot be used in field documentation. It can only be used in the following types of documentation: method. [javadoc] Building index for all the packages and classes... [javadoc] Building index for all classes... [javadoc] Generating D:\workdir\Repositories\p\luke\trunk\build\api\help-doc.html... [javadoc] 20 warnings BUILD SUCCESSFUL Total time: 3 seconds 输出界面截图: