如何在Ant的javadoc任务中链接第三方库

时间:2010-07-08 19:23:45

标签: java ant javadoc

我有一个项目,它以jar文件的形式使用第三方库,我使用Ant来构建项目javadocs。使用javadoc任务时,我无法让Ant链接到第三方库javadocs。

这是javadoc任务:

<javadoc excludepackagenames="" access="private" destdir="javadoc" author="true" 
         version="true" use="true" windowtitle="title" useexternalfile="true">
  <fileset dir="." defaultexcludes="yes">
    <include name="*/src/com/**/*.java"/>
  </fileset>

  <link href="http://www.redhillconsulting.com.au/products/simian/javadoc/"/> 
  <link href="http://java.sun.com/j2se/1.5.0/docs/api/"/>
</javadoc>

任务的输出表明simian包不存在:

[javadoc] C:\development\java\tools\src\com\cname\DuplicateCodeIdentifier.java:15: package au.com.redhillconsulting.simian does not exist
[javadoc] import au.com.redhillconsulting.simian.Checker;
[javadoc]                                        ^

运行ant任务会正确创建到Sun网站的所有链接,但不会创建到redhillconsulting网站。这两个URL都会导致包列表文件和适当的路径(匹配包列表内容)。

如何配置<javadoc> Ant任务以生成指向第三方网站的链接?

注意:simian jar文件位于tools / lib中。我没有看到它指定任何类型的路径是一个选项,所以我没有探索那个途径,但我已经尝试将jar文件添加到文件集包含路径,这没有任何好处。

2 个答案:

答案 0 :(得分:15)

javadoc代码接受嵌入式classpath代码

<javadoc ...>
    <classpath>
        <fileset dir="${dir.lib}">
            <include name="simian.jar"/>
        </fileset>
    </classpath>
</javadoc>

答案 1 :(得分:0)

对于* java-files,由于某种原因,这不起作用。我管理用 filesets 来解决这个问题,其中一个包括我当前的项目文件,另一个包括其他包文件。我根本就没有使用 sourcepath 属性。随意添加更多文件很容易。但是,我没有尝试使用* jar文件。

<target name="doc" depends="init" description="generate documentation">
  <javadoc 
       destdir="${doc.dir}"
       access="private"
       author="yes"
       linksource="yes">
    <fileset dir="./MyProject" includes="**/*.java" />        
    <fileset dir="./GuiPackage" includes="**/*.java" />        
  </javadoc>
</target>