`

类似于走进科学的灵异事件,无法从Class中获得Annotation

    博客分类:
  • j2se
阅读更多
今天写了一个Annotation
@Target(value = {ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface A{
	String propertyMapping();

	B valueType();
}


该annotation添加到方法上,通过反射获取总是得不到。

按道理,@Retention的取值是RetentionPolicy.RUNTIME了,不应该出问题了。

然后又检查反射的调用Method的方法

1、getAnnotation(Class<T> annotationClass) //此方法用于获取当前元素上指定类型的annotation
2、getDeclaredAnnotations() 获取当前元素上所有的annotation

以上都没有问题。

反编译class,看到对应的方法上并没有该annotation。然后重启MyEclipse,重新编译

经过半个多小时的折腾。


原因是:之前调试其他问题,下午将系统时间修改成昨天了。

应该是MyEclipse发现class文件的生成时间大于源码的最后修改时间,所以没有重新编译。


自己把自己坑了!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics