我正在开发一个Eclipse插件。我正在尝试将Jersey客户端(jersey-client-2.3.1)绑定到此插件。
到目前为止,我读到需要HK2才能进行依赖注入。当我从Eclipse或JUnit测试中运行类时,它很好。
当我想将项目作为“Eclipse Application”运行时,问题出现了。 Eclipse的新实例打开,然后无法解析/创建Jersey客户端的实例。 ClientBuilder.newClient()调用给出了一个异常,尝试使用@Inject进行注释会给出null。看起来它没有上下文。
我该怎么做才能使这个工作?在我运行单元测试的Eclipse中,一切正常,因为只有一个(Jersey)lib提供程序,所以它默认绑定它。如何在Eclipse的新实例中做同样的事情?
这是我正在使用的lib列表:
asm-all-repackaged-2.2.0-b23.jar
bean-validator-2.2.0-b23.jar
cglib-2.2.0-b23.jar
class-model-2.2.0-b23.jar
config-types-2.2.0-b23.jar
core-2.2.0-b23.jar
hk2-2.2.0-b23.jar
hk2-api-2.2.0-b23.jar
hk2-config-2.2.0-b23.jar
hk2-locator-2.2.0-b23.jar
hk2-runlevel-2.2.0-b23.jar
hk2-utils-2.2.0-b23.jar
javax.annotation-api-1.2.jar
javax.inject-2.2.0-b23.jar
javax.ws.rs-api-2.0.jar
jersey-common-2.3.1.jar
osgi-resource-locator-1.0.1.jar
tiger-types-1.4.jar
jersey-client-2.3.1.jar
答案 0 :(得分:0)
固定。
问题在于,当我们想为插件添加第三部分库时,我们必须将它们添加到插件XML描述符中的类路径。
谢谢! : - )