在单独的项目之间交叉链接java doc

时间:2011-12-08 13:01:18

标签: java ant javadoc

我无法让javadoc引用另一个项目的API。

项目之间存在严格的雇佣关系(“app”项目引用的“常见”项目)。 这两个项目都很好,所以没有实际存在的类和包没有问题。

我的理解是javadoc没有像Java那样的构建路径,而是使用指向其他javadoc网站的链接。在能够生成HTML交叉引用方面,有一些非常合理的原因。

我试图做到这一点如下:

  1. 我为公共项目构建了javadoc
  2. 我把它扔在我的内联网上的网络服务器上
  3. 我在应用程序项目中添加了api(在我的Intranet上)到javadoc ant任务的链接。
  4. 我尝试构建应用项目
  5. Javadoc仍会发出以下形式的错误消息:

    [javadoc] C:\Users\couling\workspace\app\src\com\blahblah\app\AppMain.java:14: package com.blahblah.common.foo does not exist
    [javadoc] import com.blahblah.common.foo.Bar
    [javadoc]                               ^
    

    生成的javadoc项目之间没有交叉链接。

    这两个项目的蚂蚁任务如下:

    普通的:

    <javadoc 
             access="protected" 
             author="true" 
             classpath="." 
             destdir="out/doc/docs" 
             nodeprecated="false"
             nodeprecatedlist="false" 
             noindex="false" 
             nonavbar="false" 
             notree="false"
             packagenames="*"
             source="1.6" 
             sourcepath="src" 
             splitindex="true" 
             use="true" 
             version="true">
                 <link href="http://download.oracle.com/javase/6/docs/api/" />
    </javadoc>
    

    应用:

    <javadoc 
             access="protected" 
             author="true" 
             classpath="." 
             destdir="out/doc/docs" 
             nodeprecated="false"
             nodeprecatedlist="false" 
             noindex="false" 
             nonavbar="false" 
             notree="false"
             packagenames="com.blahblah.app.*"
             source="1.6" 
             sourcepath="src" 
             splitindex="true" 
             use="true" 
             version="true">
                 <link href="http://intranet.blahblah.com/api/common/docs/" />
                 <link href="http://download.oracle.com/javase/6/docs/api/" />
    </javadoc>
    

    对于我需要做什么才能让应用程序引用常见的任何想法?

1 个答案:

答案 0 :(得分:1)

<link>元素(或命令行javadoc的-link选项)仅有助于生成链接 - 但Javadoc在较早的时候停止,它无法与您的应用程序一起使用如果他们引用未知(常见)类,则为类。

在这方面,Javadoc就像Javac一样工作 - 你必须以某种方式将它指向要使用的类,即它们必须在类路径中。您可以使用<classpath>元素指向jar文件或类目录,或<sourcepath>元素指向源(如果您需要从它们继承一些注释,请执行此操作)。

链接到标准API不需要这样做,因为它已经包含在编译器中。

请注意,以这种方式链接需要Javadoc从此URL下载package-list - 您可以改为指向包含此包列表文件的本地目录。