如何阻止Javadoc使用完全限定名称?

时间:2019-01-28 22:25:52

标签: java netbeans javadoc netbeans-10

我正在使用Javadoc工具记录一些代码,并且结果使用系统类的完全限定名称,例如java.lang.String。有没有一种方法可以专门针对java.*javax.*层次结构中的类阻止这种情况?

例如,这样的方法定义:

    * @param field String to write.
    * @throws IOException If the underlying stream throws an exception.
    */
   public void writeField( String field ) throws IOException {
      // etc.

产生如下的Javadoc输出:

writeField

public void writeField​(java.lang.String field) throws java.io.IOException

    ...etc.

Parameters:
    field - String to write.
Throws:
    java.io.IOException - If the underlying stream throws an exception.

我希望对java.lang.String的引用只是String,对java.io.IOException的引用也同样只是IOException

有什么想法吗?


编辑并更新re。可接受的答案如下:

在NetBeans 10中,解决此问题的方法是转到“项目”视图,然后切换到“文件”视图。然后在项目文件中,找到nbproject/project.properties并打开该文件(右键单击,选择“打开”)。

在属性视图中,向左滚动直到看到javadoc.additionalparam。然后将以下内容添加到该属性的右侧(在我的情况下,其值为空)-link https://docs.oracle.com/en/java/javase/11/docs/api/

然后保存(control-S)文件并进行构建。 Javadocs现在看起来像我想要的。谢谢色拉!

1 个答案:

答案 0 :(得分:2)

如果Javadoc无法链接到class / method / etc,则输出标准名称。为了仅输出简单名称,您必须链接到外部Javadoc。这是通过javadoc工具的-link <url>命令行选项完成的。要链接到SE类(即java.*javax.*),一种选择是使用:

javadoc -link https://docs.oracle.com/en/java/javase/11/docs/api/ [...]

[...]是命令行的其余部分。您可以将URL更改为指向其他Java版本(例如Java 8而不是Java 11)。

还有一个-linkoffline <url1> <url2>选项。

注意:我相信这两个选项都是由“标准doclet”提供的。如果不使用标准doclet,则这些选项可能不可用或可能会有所不同。