繁体   English   中英

在Eclipse插件中使用非OSGi包

[英]Using non-OSGi packages in Eclipse Plugins

我目前正在开发一个Eclipse插件。 它的构建和部署由Tycho和Maven支持。 现在我想将Googles Guava v.14作为依赖项添加到项目中。 在Tychos wiki页面上,我发现如果它们是OSGi包,它只能解析依赖关系。 我无法找到这个版本的Guava作为OSGi包。 那么这种情况的常见解决方法是什么?

  • Guava存储库查看感兴趣的修订版,添加MANIFEST ,捆绑它并添加到项目路径,接缝给我就像一个非常肮脏的解决方法 - 我需要自己维护这个包,我不能简单地升级一个包,我需要在VCS中为CI提交二进制文件。
  • 做同样的事情但将捆绑存储在某个maven存储库中 - 维护一个包含源代码的存储库实际上是复制现有的,升级并不是那么简单。

它对我来说非常非常难以导入OSGi项目中的现有Java代码。

番石榴是100%OSGi ......还有几个字符可以达到30

不要尝试自己将库转换为OSGi包:

  • 或者,将库转换为OSGi包很简单,例如,如果可以使用其中一个基于BND的工具生成正确的清单。

    在这种情况下,库的提供者应该直接这样做。 对于Maven构建,他们只需要添加maven-bundle-pluginbundle目标。

  • 或者,很难将库转换为OSGi包,例如因为库使用的类加载概念在OSGi中不起作用。

    在这种情况下,需要更改库,这只能由库的提供者完成。

Guava是一个OSGI,将它添加到依赖项部分的pom.xml中

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>18.0</version> <!--Replace with version you want to use-->
    </dependency>

确保在存储库列表中列出Maven Central存储库

    <repository>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://repo.maven.apache.org/maven2</url>
    </repository>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM