【发布时间】:2012-01-15 16:27:37
【问题描述】:
我的应用程序有几个包,其中包含 JAXB 注释的类和服务包,它们负责创建 JAXBContext。
服务包注册BundleListener 并捕获生命周期事件,但问题是我不知道如何从org.osgi.framework.Bundle 对象中检索带注释的类。在MANIFEST.MF 和Bundle.loadClass(..) 中添加带有类的条目将解决我的问题,但通过注释查找类对我来说似乎更清晰的解决方案。
你知道如何找到带注释的类吗?
我想我必须使用
扫描jar 文件中的 .class 资源
Enumeration<?> classes = bundle.findEntries("/", "*.class", true)
并使用Bundle.loadClass(...) 加载它们。您认为这种方法会出现性能问题吗?
【问题讨论】:
-
查看关键字“类路径扫描器”,但请注意,在 OSGi 环境中,包确实来来去去。
-
感谢您的回复。 “类路径扫描器”到底是什么意思?你是说挥手吗?