在Eclipse插件中注入Jersey客户端

时间:2013-11-03 11:13:34

标签: eclipse dependency-injection eclipse-plugin jersey-client jersey-2.0

我正在开发一个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

1 个答案:

答案 0 :(得分:0)

固定。

问题在于,当我们想为插件添加第三部分库时,我们必须将它们添加到插件XML描述符中的类路径。

谢谢! : - )