链接到现有的javadoc仅适用于Java Platform包

时间:2016-11-26 17:09:09

标签: java javadoc openjdk

我在名为test.java的文件中有这个类:

import java.nio.ByteBuffer;
import io.netty.buffer.ByteBuf;

public class test {
    public ByteBuffer x;
    public ByteBuf y;
}   

我生成了像这样的javadoc:

javadoc -link http://docs.oracle.com/javase/7/docs/api/ -link http://netty.io/4.0/api/ test.java

只创建了来自Java Platform包的类的链接,没有指向Netty或我尝试过的其他包的类的链接:

Javadocs with link option

如何让javadoc创建指向其他包的链接?

在javadoc的手册页上,它说真正需要的唯一文件是package-list文件:

  

Javadoc工具从包列表文件中读取包名称   然后链接到该URL的那些包。当Javadoc工具是   运行时,extdocURL值将逐字复制到链接中   这是创造的。

对于这两个链接,存在这些文件:

生成javadocs而不提供任何类似的链接可能是相关的:

javadoc test.java

同样,它只显示Java Platform包的包名称:

Javadocs without link option

1 个答案:

答案 0 :(得分:0)

你得到任何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的类路径中,错误就会消失,我构建的javadoc包含指向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...