[英]Using non-OSGi packages in Eclipse Plugins
我目前正在开发一个Eclipse插件。 它的构建和部署由Tycho和Maven支持。 现在我想将Googles Guava v.14作为依赖项添加到项目中。 在Tychos wiki页面上,我发现如果它们是OSGi包,它只能解析依赖关系。 我无法找到这个版本的Guava作为OSGi包。 那么这种情况的常见解决方法是什么?
Guava
存储库查看感兴趣的修订版,添加MANIFEST
,捆绑它并添加到项目路径,接缝给我就像一个非常肮脏的解决方法 - 我需要自己维护这个包,我不能简单地升级一个包,我需要在VCS中为CI提交二进制文件。 它对我来说非常非常难以导入OSGi项目中的现有Java代码。
番石榴是100%OSGi ......还有几个字符可以达到30
不要尝试自己将库转换为OSGi包:
或者,将库转换为OSGi包很简单,例如,如果可以使用其中一个基于BND的工具生成正确的清单。
在这种情况下,库的提供者应该直接这样做。 对于Maven构建,他们只需要添加maven-bundle-plugin的bundle
目标。
或者,很难将库转换为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.