将Apache Thrift添加到OSGi Bndtools项目中

时间:2017-08-25 13:20:01

标签: java eclipse osgi thrift bndtools

我在Eclipse中使用Bndtools。我正在尝试将Apache Thrift添加为项目的依赖项。我的build.bnd有这个代码用于添加Maven Central以及我们的Nexus存储库:

-plugin.5.Nexus = \
    aQute.bnd.repository.maven.pom.provider.BndPomRepository; \
        releaseUrls=https://<NEXUS_URL>:8081/content/groups/public/    ; \
        snapshotUrls=https://<NEXUS_URL>:8081/content/groups/public/    ; \
        index=${.}/release.maven; \
        pom = ${workspace}/cnf/maven-nexus.xml; \
        name="Nexus"

-plugin.6.MavenCentral: \
    aQute.bnd.repository.maven.pom.provider.BndPomRepository; \
        releaseUrls = https://repo1.maven.org/maven2/; \
        pom = ${workspace}/cnf/maven-central.xml; \
        name = Maven Central

我尝试将依赖项添加到两个xml文件中,如下所示:

<dependency>
    <groupId>org.apache.thrift</groupId>
    <artifactId>libthrift</artifactId>
    <version>0.10.0</version>
</dependency>

像Gson这样的其他依赖工作正常。我想要使​​用Thrift的项目的bnd.bnd文件只有这个内容:

-buildpath: \
    org.apache.thrift

我也试过org.apache.libthrift,但我发现这应该是正确的OSGi包名。我总是得到

  

找不到/error/org.apache.thrift;version=0未找到

我在这里遗漏了什么吗?我是OSGi的新手,所以我可能会错过一些非常明显的东西。我也不确定我的存储库配置是否正确。不过,其他依赖项工作得很好。谢谢你的建议!

编辑: 也许作为附加信息:在Eclipse中,build.bnd文件在GUI视图中显示为空。这是否意味着,我的项目有点被破坏或者这是正常的吗? Eclipse build.bnd GUI

EDIT2:为了测试(没有帮助)我还使用MavenBndRepository插件向BndPomRepository添加了Maven Central:

-plugin.7.MavenCentralAlternative = \
    aQute.bnd.repository.maven.provider.MavenBndRepository; \
        releaseUrl=https://repo.maven.apache.org/maven2/; \
        index=${.}/central.maven; \
        name="Maven Central Alternative"

EDIT3:问题必须与节俭相关。所有其他包工作得很好,只找不到Thrift。我目前的解决方法是手动将Thrift jar添加到项目中,并将其依赖项作为OSGi bundle引用,就像我试图首先添加Thrift一样。显然我现在得到这个警告:

  

Bndtools:.classpath包含一个无法使用的库   在持续整合期间

0 个答案:

没有答案