AEM 6:未解决OSGi包依赖关系

AEM 6:未解决OSGi包依赖关系,osgi,aem,Osgi,Aem,我正试图使用Jsoup库,通过创建一个OSGi包来使用它。我以前创建过bundle,因此我对这个过程非常熟悉。我还在pom.xml中添加了依赖项,如下所示: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.7.3</version> &l

我正试图使用Jsoup库,通过创建一个OSGi包来使用它。我以前创建过bundle,因此我对这个过程非常熟悉。我还在pom.xml中添加了依赖项,如下所示:

    <dependency>
       <groupId>org.jsoup</groupId>
       <artifactId>jsoup</artifactId>
       <version>1.7.3</version>
    </dependency>   

org.jsoup

我已经尝试了所有的方法,但是依赖关系仍然没有得到解决。附件是截图

我该怎么办

提前谢谢


版本不匹配。您的捆绑包取决于包
org.jsoup
和具有1.7或更高版本的朋友。严格来说,它从版本1.7.0(含)导入到版本2.0.0(不含)

但是,运行时中安装的捆绑包将导出为版本0.0.0。因此,导入与可用导出不匹配,您的捆绑包无法解析


您似乎需要找到导出为1.7版的
org.jsoup
捆绑包,并将其安装到您的运行时中,而不是安装在此处使用的捆绑包。

有几种不同的方法可以解决您的问题:

  • 强制导入Jsoup捆绑包导出的0.0.0版本。(最简单)
    这可以通过更新使用Jsoup包的捆绑包的导入包部分来执行:
  • 
    org.jsoup.*;决议:=必需;version=“[0.0,0.1)”
    
  • 使用Maven POM包装您的Jsoup依赖项,并设置要通过更新导出包部分导出的版本(可选):
  • 
    org.jsoup.*;version=“1.7.2”
    
    详细信息:

  • 将另一个Jsoup JAR作为OSGi包安装。
    最初的JSOUP1.7.2()在我的项目中很好

  • 更新要导入的Maven“依赖项”项:

  • 
    com.adobe.cq.jsoup
    JSOUP服务包
    1.0-快照
    

    我认为OSGi容器中没有兼容版本的dependency[1.7,2]。感谢您的回复,我理解。问题是我已经尝试了从版本1.7到最新版本1.8.2的所有JAR,但我无法将导出填充为0.0.0以外的版本。知道如何解决此问题吗?我认为您构建的捆绑包必须具有正确的版本化导出,否则nd不会在您的包中创建版本化的导入。
      <Import-Package>
      org.jsoup.*;resolution:=required;version="[0.0,0.1)"
      </Import-Package>
    
     <Export-Package>
     org.jsoup.*;version="1.7.2"
     </Export-Package>
    
    <dependency>
        <groupId>com.adobe.cq.jsoup</groupId>
        <artifactId>jsoupservice-bundle</artifactId>
        <version>1.0-SNAPSHOT</version>  
    </dependency>