java - 在不同的项目之间交叉链接java doc

标签 java ant javadoc

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

项目之间存在严格的层次结构(“应用”项目引用的“公共(public)”项目)。 这两个项目都构建得很好,所以不存在实际不存在的类和包没有问题。

我的理解是 javadoc 没有与 Java 相同的构建路径,而是使用指向其他 javadoc 网站的链接。就能够生成 HTML 交叉引用而言,这有一些非常合乎逻辑的原因。

我的尝试如下:

  1. 我已经为公共(public)项目构建了 javadoc
  2. 我把它放在我内网上的网络服务器上
  3. 我向应用程序项目中的 javadoc ant 任务添加了指向 api(在我的内部网上)的链接。
  4. 我尝试构建应用程序项目

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 在项目之间没有交叉链接。

两个项目的ant任务如下:

常见的:

<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>

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

最佳答案

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

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

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

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

关于java - 在不同的项目之间交叉链接java doc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431380/

相关文章:

java - 我可以在 Eclipse 中运行 Debug模式时更改内容吗?

java - 删除错误索引 Google App Engine

android - 如何使用 ant 在设备上运行 android 应用程序

java - 如何显示 Groovy AntBuilder 类路径中包含的所有资源?

java - 通过 Ant 清理dist-执行一个 jar 以不同的名字出现?

java - 在 Struts 2 中通过 ModelDriven 将参数传递给操作

java - Jackson XmlMapper 映射嵌套元素的 XML 属性

vim - 如何阻止 Vim 自动高亮我的 Java 注释的第一句?

intellij-idea - IntelliJ JavaDoc - 错误 - 无法读取输入长度 = 1

java - 使用 Maven 自动验证 JavaDoc