我想在Eclipse RCP应用程序中使用io.reactivex rxjava 将它作为eclipse插件获得的最佳方法是什么,包括源插件? 是否有项目进行这些转换? 它不包括在日食/轨道中 或者我需要自己做吗?
谢
答案 0 :(得分:0)
如果原始提供者没有为您制作OSGI就绪包(即向MANIFEST.MF添加少量额外位),您可以使用Eclipse Bundle Recipes(EBR)创建自己的包。
截至撰写本文时(2015年10月),Eclipse Orbit目前正在将EBR用于新捆绑包,因为它们已打包完成。但你可以自己做。希望在未来某个时候有人读到这篇文章时,EBR网站会更加完整https://www.eclipse.org/ebr/,但是现在这些幻灯片和博客文章可以帮助你开始:
基本的想法是你需要用pom.xml将它连接到Maven,看起来有点像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>apache-commons</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.apache.commons.codec</artifactId>
<version>1.9.0-SNAPSHOT</version>
<packaging>eclipse-bundle-recipe</packaging>
<name>Apache Commons Codec</name>
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
</project>
这与bnd文件一起使用,看起来有点像这样:
package-version=${version;===;${Bundle-Version}}
Export-Package: \
*.internal*;x-internal:=true;version="${package-version}", \
*.impl*;x-internal:=true;version="${package-version}", \
*;version="${package-version}"
Import-Package: \
*
然后,通过上面的简单maven调用,您可以使用OSGI包来与Eclipse RCP应用程序一起使用。
请注意,您可能会遇到如何命名要创建的软件包的问题,Eclipse提供了一些可能有用的准则:https://wiki.eclipse.org/Bundle_Naming