我很难找到合理的方法来管理足够大的代码库,更具体地说,是如何为任何给定的bundle管理import
语句。
问题是,如果你有一个捆绑包有自己的依赖关系到其他第三方库,如果你选择嵌入其中一些(在我的情况下,我),maven-bundle-plugin
也将扫描包从这些库中添加它们作为imported
捆绑(这完全违反直觉)。
我的工作是在你的*
语句中删除通配符import
,但这意味着现在必须手动维护导入列表。
那么你们如何解决这个问题呢?我在这里错过了什么吗?
非常感谢任何建议
答案 0 :(得分:2)
捆绑非OSGi第三方库有时很困难。 maven-bundle-plugin通常只通过嵌入和导入它所使用的内容来做得很好。
问题在于许多库都有很多依赖项,特别是很多可选的依赖项。在这些情况下,maven bundle插件通常很小心并且输入的数量超过了必要的数量。如果你确定不需要某些东西,你可以通过指定来禁止导入:
Import-Packages: !somepackage, *
。
我个人的做法是尽量避免使用具有大量外部依赖关系的库。如果我无法避免它们,那么我检查已捆绑了许多库的servicemix包。