我正在Eclipse中开发一个OSGi-Bundle(Project 1),并且必须将其导出为jar才能在我的目标环境中运行它。我使用正常的eclipse导出为" jar文件"或者导出为可部署的插件和片段",到目前为止都运行良好。
现在我有另一个eclipse-Project(Project 2,非OSGi,只是一些类),我想要包含它,在我的Bundle中作为jar-lib提供。
我尝试在buildpath-settings中将新项目添加为链接源。代码将很好地解决,但由于缺少类,无法构建jar。
我还尝试在buildpath-settings中将新项目添加为项目。它不适用于可部署的插件和片段"但对于" jar文件"。但是,每次我做一个新的jar导出时,它会将第二个项目的所有源文件和项目文件添加到jar中。
如果可能的话,最好的方法就是不必一直导出该项目的罐子并且不使用maven来包含它?
答案 0 :(得分:1)
标准的OSGi方法是在project2中使用Export-Package并在project1中使用Import-Package。 project2不是纯OSGi也不是问题,因为启用OSGi的jar仍然是普通的jar,默认情况下可以在OSGi之外使用。
所以除非有很好的理由在project1中嵌入你的project2类,否则我会使用上面的方法。