apche felix osgi无法导出包

时间:2016-07-23 18:07:28

标签: osgi apache-felix amdatu

我在menifest.mf文件中设置了以下内容,

    Manifest-Version: 1.0
Bnd-LastModified: 1359719312904
Bundle-Activator: org.amdatu.mongo.impl.Activator
Bundle-ManifestVersion: 2
Bundle-Name: org.amdatu.mongo
Bundle-SymbolicName: org.amdatu.mongo
Bundle-Version: 1.0.4
Created-By: 1.7.0_09 (Oracle Corporation)
Export-Package: org.amdatu.mongo;uses:="com.mongodb";version="1.0"
Import-Package: com.mongodb,org.amdatu.mongo;version="[1.0,2)",org.apach
 e.felix.dm;version="[3.0,4)",org.osgi.framework;version="[1.5,2)",org.o
 sgi.service.cm;version="[1.3,2)",org.osgi.service.log;version="[1.3,2)"
Private-Package: org.amdatu.mongo.impl
Tool: Bnd-1.51.0

当我安装此捆绑包时,我没有在apache felix的导出列表中获取org.amdatu.mongo包吗? 请检查下面的图片...我的捆绑包处于活动状态和运行状态。还没有看到导出包吗?

enter image description here

我没有包含ID 508的包,该包从中导入org.amdatu.mongo

我在网络控制台中搜索,我只有一个包。请检查下面的图片,

enter image description here

1 个答案:

答案 0 :(得分:3)

问题不在于Felix 无法导出包。它根本不需要。

您已将包org.amdatu.mongo列为导出和导入。这为OSGi框架提供了一个选择:如果有另一个已经导出它的bundle,则导入它;否则,将其导出。

换句话说,你看到了正常,正确的行为。