我在名为test.java
的文件中拥有此类:
import java.nio.ByteBuffer;
import io.netty.buffer.ByteBuf;
public class test {
public ByteBuffer x;
public ByteBuf y;
}
我生成这样的javadocs:
javadoc -link http://docs.oracle.com/javase/7/docs/api/ -link http://netty.io/4.0/api/ test.java
仅创建到Java Platform包中类的链接,没有从Netty或我尝试过的其他包中的类的链接:
如何使javadoc也创建指向其他软件包的链接?
在javadoc的手册页上说,真正需要的唯一文件是
package-list
文件:Javadoc工具从软件包列表文件中读取软件包名称
然后链接到该URL上的那些软件包。当Javadoc工具是
运行时,将extdocURL值原样复制到链接中
被创建。
对于这两个链接,这些文件都存在:
http://docs.oracle.com/javase/7/docs/api/package-list
http://netty.io/4.0/api/package-list
可能相关的是,在生成javadocs时不提供以下任何链接:
javadoc test.java
同样,它仅显示Java Platform软件包的软件包名称:
最佳答案
您收到任何javadoc警告/错误吗?
在我的末端,我看到:
$ javadoc -link http://docs.oracle.com/javase/7/docs/api/ -link http://netty.io/4.0/api/ test.java
Loading source file test.java...
Constructing Javadoc information...
test.java:2: error: package io.netty.buffer does not exist
import io.netty.buffer.ByteBuf;
^
test.java:6: error: cannot find symbol
public ByteBuf y;
^
symbol: class ByteBuf
location: class test
Standard Doclet version 1.8.0_111
如果我将netty jar添加到javadoc的类路径中,错误就会消失,并且我构建的javadocs包含指向
ByteBuf
的链接:$ javadoc -cp netty-4.0.42.Final/jar/all-in-one/netty-all-4.0.42.Final.jar -link http://docs.oracle.com/javase/7/docs/api/ -link http://netty.io/4.0/api/ test.java
Loading source file test.java...
Constructing Javadoc information...
Standard Doclet version 1.8.0_111
Building tree for all the packages and classes...