我在使用javadoc引用另一个项目的API时遇到了问题。
这两个项目之间有严格的层次结构(一个“common”项目被一个“app”项目引用)。这两个项目都可以正常构建,因此不存在类和包实际上不存在的问题。
我的理解是,与Java不同,javadoc没有类似的构建路径,而是使用链接到其他javadoc网站。从能够生成HTML交叉引用的角度来看,这种做法有一些非常合理的原因。
我的尝试如下:
- 我已经为common项目构建了javadoc
- 我将其放在内部网络上的Web服务器上
- 我在app项目的javadoc ant任务中添加了一个指向该api(在我的内部网络上)的链接。
- 我尝试构建app项目
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] ^
生成的Java文档中两个项目之间没有交叉链接。
这两个项目的ant任务如下:
Common:
<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>
有什么想法可以帮助我让应用程序引用common吗?