我一直很高兴在构建过程中使用 Bndtools 在 felix/osgi 上构建应用程序。我已经将我所有的第 3 方非捆绑 jar 包作为捆绑包,将我所有的内部 jar 构建为捆绑包,并且一直在开发 4 个带有激活器和服务的捆绑包。到目前为止,这一切都运作良好......
...然后,昨天突然间,bndtools 开始放一个“。” 在我的 MANIFEST.MF 中的 Import-Package 指令中。这导致了以下错误:
Auto-deploy install: org.osgi.framework.BundleException: Imporing '.' is invalid.
并导致捆绑包无法加载。
现在,大概是因为我昨天对源代码进行了一些更改,但是对于我的生活,我无法弄清楚那可能是什么。我在过去几天所做的唯一更改是在我自己的源代码中。我没有添加任何第 3 方依赖项。
当我让 eclipse bnd 构建器生成包时,它没有放“。” 在导入列表中,但我在构建过程中使用了 ant 任务,它正在放置“。” 在包装清单中。
任何人都可以评论为什么将它放在那里吗?
这是bnd文件:
Export-Package: \
com.omni.service.*, \
com.omni.buildup.*
Bundle-Version: 1.0.0
Bundle-Activator: com.omni.service.osgi.OmniQueryServerActivator
Bundle-SymbolicName: omniquery-service
-resolve: auto
-runee: JavaSE-1.7
-runfw: org.apache.felix.framework;version='[4.2.0,4.2.0]'
-runbundles: \
org.apache.felix.configadmin;version='[1.8.8,1.8.9)',\
org.apache.felix.log;version='[1.0.1,1.0.2)',\
org.apache.felix.metatype;version='[1.1.2,1.1.3)',\
org.apache.felix.scr;version='[1.8.2,1.8.3)'