【发布时间】:2016-06-30 15:45:31
【问题描述】:
Eclipse-LazyStart 标头用于指定是否应在从该包访问第一个类或资源之前启动包
取自官方 Eclipse documentation.
从这句话可以推断,如果指定Eclipse-LazyStart(或Equinox 3.4+ 中的Bundle-ActivationPolicy: lazy),捆绑包将在第一类或资源请求时激活。
最初我的意思是问如何将资源文件添加到激活异常列表中,因为根据文档,异常列表仅包含类包:Bundle-ActivationPolicy: lazy; exclude:="org.eclipse.foo1, org.eclipse.foo2"
但随后我进行了一些测试,发现在资源请求时未激活捆绑包 - 只有类请求激活捆绑包。我能够访问我的资源文件并读取其内容,而无需触发 bundle Activator.start。
所以问题是:
- 是否根据资源请求激活捆绑包?如果不是,则说明文档具有误导性。
- 如果正在激活,如何将非 java 文件添加到排除/包含列表中?为什么 Activator.start 没有被触发?
【问题讨论】:
标签: eclipse eclipse-rcp rcp osgi-bundle lazy-initialization