osgi - 自动下载所有 Jersey OSGi Bundle 依赖项

标签 osgi jersey apache-karaf obr

我正在尝试通过 OSGi(特别是 Karaf)使用 Jersey。为此,我下载了 this从 Maven 中打包 jar 并将其放入我的 Karaf 部署目录中。但是,当我尝试启动 bundle 时,它无法解决它的任何依赖关系。它还似乎在寻找每个依赖项的版本 0.0.0,这似乎是错误的。

将这个包添加到我的项目中的最佳方式是什么?您是否必须手动下载所有依赖项,或者我可以使用具有此 bundle 的现有 OBR 吗?我在哪里可以找到它?

最佳答案

我使用 Jersey 和 Karaf 没有问题,使用这个依赖项而不是 jersey-bundle:

<!-- Jersey -->
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-core</artifactId>
    <version>1.12</version>
</dependency>

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-server</artifactId>
    <version>1.12</version>
</dependency>

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.12</version>
</dependency>   

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>jsr311-api</artifactId>
    <version>1.1.1</version>
</dependency> 

我现在已经在最后一个 Karaf Apache 控制台上进行了测试,这对我有用:

$ bin/karaf
  Apache Karaf (2.2.5)

karaf@root> install mvn:com.sun.jersey/jersey-core/1.12
Bundle ID: 49
karaf@root> install mvn:com.sun.jersey/jersey-server/1.12
Bundle ID: 50
karaf@root> install mvn:javax.ws.rs/jsr311-api/1.1.1
Bundle ID: 51
karaf@root> install mvn:com.sun.jersey/jersey-json/1.12
Bundle ID: 52
karaf@root> install mvn:org.codehaus.jackson/jackson-core-asl/1.9.5
Bundle ID: 53
karaf@root> install mvn:org.codehaus.jackson/jackson-jaxrs/1.9.5
Bundle ID: 54
karaf@root> install mvn:org.codehaus.jackson/jackson-mapper-asl/1.9.5
Bundle ID: 55
karaf@root> install mvn:org.codehaus.jettison/jettison/1.1
Bundle ID: 56
karaf@root> start 49 50 51 52 53 54 55 56
karaf@root> list 
   ID   State         Blueprint      Level  Name
[  49] [Active     ] [            ] [   60] jersey-core (1.12)
[  50] [Active     ] [            ] [   60] jersey-server (1.12)
[  51] [Active     ] [            ] [   60] jsr311-api (1.1.1)
[  52] [Active     ] [            ] [   60] jersey-json (1.12)
[  53] [Active     ] [            ] [   60] Jackson JSON processor (1.9.5)
[  54] [Active     ] [            ] [   60] JAX-RS provider for JSON content type, using Jackson data binding (1.9.5)
[  55] [Active     ] [            ] [   60] Data mapper for Jackson JSON processor (1.9.5)
[  56] [Active     ] [            ] [   60] jettison (1.1)

关于osgi - 自动下载所有 Jersey OSGi Bundle 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830255/

相关文章:

java - 在OSGI中导入内部包

java - Karaf 中的 XML 解析器类加载问题

java - 想要使用 CAMEL、CXF 和 Karaf 访问静态资源

java - OSGi - 如何通过现有的 bndrun 文件运行新的包

java - NoClassDefFoundError 尽管有 OSGi 包

java - Json 多态性与 Jackson 和 Json 没有包装对象

spring-boot - 如何在 spring-boot 应用程序中启用 togglz-console

java - 不使用 Http-Authentication 在 Apache Jersey 中进行身份验证?

java - 大同记录 : specifying which timezone to use for logs

web-services - 如何从 Equinox OSGi 应用程序公开和使用 Web 服务?