小编Cri*_*ell的帖子

OSGI中的Google Client API

我在OSGI应用程序框架(AEM)中提供Java的OAuth客户端库所需的依赖项时遇到了麻烦。

https://developers.google.com/api-client-library/java/google-oauth-java-client/setup

我不想手动将每个依赖项转换为OSGI捆绑包BND。所以我正在使用maven-bundle-plugin将它们嵌入到我的包中。到目前为止,我的过程一直是在error.log上查看有关“捆绑中未解决的约束”的消息。然后跟踪丢失的包,添加Maven依赖项,并将其添加到Embed-Dependency部分。这似乎适用于google-http-client和google-oauth-client。GSON(或Jackson2)无法通过这种方式解决,我得到的信息是...

更新:

正如Neil指出的那样,我需要为GSON(google-http-client-gson)嵌入其他依赖项。谢谢!

但是,它仍然无法部署,目前正在报告此消息...

org.osgi.framework.BundleException:com.mypackage.services软件包中未解决的约束[394]:无法解决394.130:缺少要求[394.130] osgi.wiring.package; (osgi.wiring.package = sun.misc)

似乎其他人对此有麻烦,并且可能与OSGi中的Guava有关,我尝试将sun.misc设置为可选。

<Import-Package>sun.misc.*;resolution:=optional,*</Import-Package>
Run Code Online (Sandbox Code Playgroud)

但是捆绑软件无法启动,并提供错误消息“捆绑软件中未解决的约束”。此时,我的问题是...

是否有人在OSGI中成功部署了Java的Google CLient API?如果是这样,怎么办?

或者。我将很高兴收到有关此sun.misc软件包的建议,并且可能与在OSGI中使用Guava有关


我的pom.xml

<dependencies>
<dependency>
 <groupId>com.google.api-client</groupId>
 <artifactId>google-api-client</artifactId>
 <version>1.20.0</version>
</dependency>

<dependency>
  <groupId>com.google.http-client</groupId>
  <artifactId>google-http-client</artifactId>
  <version>1.20.0</version>
</dependency>

<dependency>
  <groupId>com.google.api-client</groupId>
  <artifactId>google-api-client-java6</artifactId>
  <version>1.20.0</version>
</dependency>

<dependency>
    <groupId>com.google.http-client</groupId>
    <artifactId>google-http-client-jackson2</artifactId>
    <version>1.20.0</version>
</dependency>

<dependency>
    <groupId>com.google.http-client</groupId>
    <artifactId>google-http-client-gson</artifactId>
    <version>1.20.0</version>
</dependency>

<dependency>
  <groupId>com.google.oauth-client</groupId>
  <artifactId>google-oauth-client</artifactId>
  <version>1.20.0</version>
</dependency>

<dependency>
  <groupId>com.google.oauth-client</groupId>
  <artifactId>google-oauth-client-java6</artifactId>
  <version>1.20.0</version>
</dependency>

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>18.0</version>
</dependency>

<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.jms</artifactId>
    <version>3.2-b06</version>
</dependency>

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.3</version>
</dependency>


<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5</version>
</dependency>

<dependency> …
Run Code Online (Sandbox Code Playgroud)

java osgi google-api maven aem

2
推荐指数
1
解决办法
1755
查看次数

标签 统计

aem ×1

google-api ×1

java ×1

maven ×1

osgi ×1