0

在开发 ant - 任务以使用注释为项目自动生成一些 gui - 代码时,因为我更喜欢声明性方法,所以我使用java.net.URLClassLoader将类动态添加到我的类路径中。
在扫描类以查找类级别注释时,尽管
它们存在,但没有找到它们。
例如 ,有没有其他人遇到过这个问题并且可以提供解决方案? (将 URLClassLoader 子类化以在内部对 loadClass 的调用被视为 loadClass(Class clazz, true) 也不起作用)

@AutoGenerateGUI
class LoginBean


感谢https://stackoverflow.com/users/1103872/marko-topolnik 另外:检索动态加载的类的注解总是返回 com.sun.proxy.$Proxy[x],这样才能得到原来的注解类型我必须使用构造URLClassLoader 加载注释作为 com.sun.$Proxy$27迭代代理对象实现的接口。尽管这不是必需的,但确实其他解决方案(例如使用 instanceof)失败了。

4

1 回答 1

1

我的猜测AutoGenerateGUI是您的自定义注释,并且您没有为它指定正确的保留策略。默认为RetentionPolicy.CLASS,加载类后会丢弃注解。注释将无法在运行时通过反射获得。

于 2013-12-22T12:55:31.930 回答