读书人

类似于踏进科学的灵异事件无法从Cla

发布时间: 2013-03-12 11:19:35 作者: rapoo

类似于走进科学的灵异事件,无法从Class中获得Annotation
今天写了一个Annotation

@Target(value = {ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @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文件的生成时间大于源码的最后修改时间,所以没有重新编译。


自己把自己坑了!

读书人网 >编程

热点推荐