我有一个使用其他捆绑包的大树捆。例如:
让基础包也导出api包是否正确?
我这样做是因为现在用户只需要将基础包添加到他们的构建路径,并且bndtools可以找到base + api包。否则,使用基本包的用户需要弄清楚基本包使用api包,他们需要将其添加到构建路径中。
答案 0 :(得分:4)
您可以导出API包,但必须确保还导入包。因此,OSGi框架可以决定它实际连接哪些包。如果在某些时候您有两个包导出相同的包,这很重要。
顺便说一下。通常,您不应导出基础包捆绑包。如果API的用户仍然必须知道impl,则不会获得真正的解耦。相反,您可以使用API接口将impl类导出为服务。