Java 找不到自定义批注的符号
我编写了一个自定义注释,如下所示:Java 找不到自定义批注的符号,java,annotations,Java,Annotations,我编写了一个自定义注释,如下所示: package annotation; import static java.lang.annotation.ElementType.METHOD; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME)
package annotation;
import static java.lang.annotation.ElementType.METHOD;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(METHOD)
public @interface FieldRule {
String value();
}
然后要使用此注释的类是:
package annotation;
public class ScreeningVO {
String rrcStatusCode;
public String getRrcStatusCode() {
return rrcStatusCode;
}
@FieldRule("RRC_RULE")
public void setRrcStatusCode(String rrcStatusCode) {
this.rrcStatusCode = rrcStatusCode;
}
public static void main(String[] args) {
ScreeningVO s = new ScreeningVO();
s.setRrcStatusCode("Yes");
System.out.println("Testing Annotation");
}
}
现在当我编译这个ScreeningVO编译器时抛出错误:
ScreeningVO.java:11: error: cannot find symbol
@FieldRule("RRC_RULE")
^
symbol: class FieldRule
location: class ScreeningVO
但是,提供了注释,并且注释和ScreeningVO都存在于同一个包中。您使用的是哪一个java版本?它对我来说很好。您是否尝试过重建/清理您的项目?我正在使用java 8I。只有当您无法编译包含注释的文件时,我才看到这个问题(例如,如果它隐藏为FieldRule.aj而不是FieldRule.java)