使用Java8,javadoc检查变得更加严格。常见的解决方案是禁用严格的javadoc检查。不过,我开始尝试修复一些项目中的错误 但有一个错误我没有得到修复。
相应的课程:
package foo;
import com.google.gwt.user.client.ui.TextArea;
[...]
public class MyClass {
[...]
/**
* @see TextArea#getValue()
*/
public String getValue() {
[...]
}
/**
* @see TextArea#setValue(String value)
*/
public void setValue(String value) {
[...]
}
/**
* @see TextArea#setValue(String, boolean)
*/
public void setValue(String value, boolean fireEvents) {
[...]
}
}
错误信息:
[ERROR] ...\MyClass.java:44: error: reference not found
[ERROR] * @see TextArea#setValue(String value)
[ERROR] ^
[ERROR] ...\MyClass.java:51: error: reference not found
[ERROR] * @see TextArea#setValue(String, boolean)
错误消息指出它在TextArea
- 方法的Javadoc中找不到setValue
- 但另一方面在TextArea
上找到getValue
没有问题} - 方法
据我所知,我关注How to specify a name以及@see reference。
任何线索?非常感谢!
答案 0 :(得分:7)
好的,我现在得到了答案,这有点棘手!
TextArea
扩展ValueBoxBase<String>
TextArea#getValue()
没有参数,所以一切都很好TextArea#setValue(String value)
在TextArea
中不存在,而是在超类中定义:ValueBoxBase#setValue(Object, boolean)
。 但它确实存在!技术上有#34;没有方法setValue(String)
。它相当setValue(Object)
。 javadoc无法单独解决这个问题,或者它只是一个错误。
因此,我发现解决这个问题的唯一方法就是使用对超类的引用。
/**
* @see com.google.gwt.user.client.ui.ValueBoxBase#setValue(Object, boolean)
*/
答案 1 :(得分:1)
而不是:
/**
* @see TextArea#getValue()
*/
尝试:
/**
* @see com.google.gwt.user.client.ui.TextArea#getValue()
*/