Java项目编译时,使用自定义注解类找不到符号
Spring-boot项目
编辑器:idea
问题:编译时找不到符号。项目中用到了自定义注解类。编辑器不提示语法有错误
/**
* 限制每个ip对每个方法的访问限制,加上时间限制
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface REQUEST_IP_LIMIT {
/**
* 时间类型,默认毫秒
* @return
*/
TimeUnit timeUnit() default TimeUnit.MILLISECONDS ;
/**
* 多长时间内限制,默认 60
* @return
*/
long t () default 60;
/**
* 单位时间内能访问多少次,默认10次
* @return
*/
int count () default 10;
}
解决方法:找到代码的目录,发现REQUEST_IP_LIMIT文件不是java文件的,而是aj文件。初步认为是IDE生成的时候判断是切面,修改了格式,然而编辑器能够识别,Maven却不能识别!导致编译的时候找不到对应的class文件。修改后缀名 .aj 为 .java 成功解决问题。