我用Javadoc记录了一些内容,并且很喜欢它与Eclipse的集成,但是我想使用Doxygen来添加图表。
我在几个简短的描述中使用{link foo}标签将其链接到标准Java类和我自己的类。
以下是一个SSCCE示例:
package org.foo.myproject;
import javax.swing.JList;
/**
* This is a Javadoc line {@link JList}
*
* @author theauthor
* @version 1.0.0
*/
public class JavadocLinkFailedDemo {
}
我在使用Doxygen(1.8.4)时遇到了以下错误:
Warning: unable to resolve link to JList for \link command
(我使用了由doxygen.exe生成的模板doxyfile,用于.java源代码和特定的输入/输出目录)这与此问题类似,但是该主题作者的解决方法对我无效。
提前感谢您的帮助。
编辑1: 我刚刚尝试使用doxygen生成Java API以获取相应的标记文件。然后,我将此文件与此演示项目一起使用,其中我添加了一个以JList为参数的构造函数=>链接仅对此参数解析,而不是对链接命令解析。
编辑2: 最终我成功保留了这种签名:{@link ...}。 对于我的例子,如果满足以下条件,则可以解析JList:
-编写类文件的完全限定名称
-使用doxygen生成jdk文档以生成标记文件,并在您的项目中使用此标记
最终的示例代码如下:
package org.foo.myproject;
import javax.swing.JList;
/**
* This is a Javadoc line with {@link javax.swing.JList}
*
* @author theauthor
* @version 1.0.0
*/
public class JavadocLinkFailedDemo {
/**
* This is a Javadoc line of the constructor with {@link javax.swing.JList}
*
* @param aList
* The list
*/
public JavadocLinkFailedDemo(JList aList) {
}
}
最终结果:
![http://s11.postimg.org/wgndev8hv/doxy_jdk.png](https://istack.dev59.com/6QxbR.webp)
@link
是一个JavaDoc指令,具有特定的签名{@link ...}
。@link
也是一个doxygen指令。因此,如果您使用JavaDoc,它能够解释您的指令。如果您运行doxygen,则无法解释该指令,因为它需要一个@endlink
指令来完成该指令。因此,您需要区分这两个命令。 - aldr