每次我在javadoc中使用@inheritDoc标签时,都会看到以下警告(示例):
@inheritDoc used but getCount() does not override or implement any method.
有人知道如何避免这种情况吗?我确信这些方法实现/覆盖另一个方法,因为我还设置了@override标记,而Eclipse并没有抱怨。
我有一个类似的警告,让@link无法找到参考资料。这是通过使用绝对标识符(例如android.content.Intent而不是Intent)来解决的。这个问题有没有类似的解决方案?
答案 0 :(得分:5)
这有点奇怪!我要找的东西:
检查getCount()
方法是否真的覆盖了某个祖先类中的方法。 (我知道...... @Override
...但无论如何都要检查!)
检查您覆盖的方法实际上是否有一些javadoc。
检查包含要覆盖的方法的类是否在源代码路径中。如果不是,则javadoc
实用程序将无法从父类源文件中提取相关材料以包含在子方法的javadoc中。
(javadoc
实用程序中的错误是另一个可能的原因......)
修改强>
使用命令的“-sourcepath”选项设置javadoc源路径,如here所述。基本上,你需要告诉javadoc实用程序包含android类源代码的ZIP文件在哪里。
答案 1 :(得分:2)
如果超类是第三方库中的类,则需要源代码以便@inheritDoc注释知道在哪里找到它。
例如,如果您尝试从J2SE库中的类/接口继承文档,则可以通过解压缩SDK附带的src.zip文件并将其路径添加到-sourcepath来完成此操作。当javadoc在您的代码上运行时,它将根据需要从这些源文件加载文档注释。
答案 2 :(得分:1)
在几个版本的java中似乎存在错误会导致这些错误。所以我认为首先要升级到最新版本的Java并再试一次。
我认为此问题与您的@link问题无关。当你引用一个在类中的代码中没有实际引用的类时,预期会出现@link问题,除非你对所引用的类使用完整的包引用。