我目前正在开发Eclipse插件。它的构建和部署由Tycho和Maven支持。现在我想将Googles Guava v.14作为依赖项添加到项目中。 On the Tychos wiki page我发现如果它们是OSGi包,它只能解析依赖关系。我无法找到这个版本的Guava作为OSGi包。那么这种情况的常见解决方法是什么?
Guava
存储库中查看感兴趣的修订版,添加MANIFEST
,将其捆绑并添加到项目路径中,对我来说就像一个非常脏的解决方法 - 我需要自己维护这个包,我不能简单地升级捆绑包,我需要在VCS中为CI提交二进制文件。在OSGi项目中导入现有的Java代码非常非常困难。
答案 0 :(得分:2)
Guava是100%OSGi ...还有一些角色可以达到30
答案 1 :(得分:1)
不要尝试自己将库转换为OSGi包:
或者,将库转换为OSGi包很简单,例如如果可以使用其中一个基于BND的工具生成正确的清单。
在这种情况下,库的提供者应该直接执行此操作。对于Maven构建,他们只需要添加maven-bundle-plugin的bundle
目标。
或者,很难将库转换为OSGi包,例如因为库使用的类加载概念在OSGi中不起作用。
在这种情况下,需要更改库,这只能由库的提供者完成。
答案 2 :(得分:0)
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>