0

我正在努力寻找一种合理的方法来管理足够大的代码库,更具体地说,如何管理import任何给定包的语句。

问题是,如果您有一个捆绑包,它对其他 3rd 方库有自己的依赖项,并且如果您选择嵌入其中的一些(在我的情况下是这样做的),那么它maven-bundle-plugin还将扫描这些库中的包并将它们添加imported为您的捆绑包(这完全违反直觉)。

解决我的问题是摆脱语句中的通配符*import但这意味着现在您必须手动维护导入列表。

那么你们是如何解决这个问题的呢?我在这里错过了什么吗?

任何建议将不胜感激

4

1 回答 1

2

捆绑非 OSGi 第三方库有时很困难。maven-bundle-plugin 通常通过仅嵌入和导入它发现正在使用的内容来做得很好。

问题是许多库有很多依赖项,尤其是很多可选依赖项。在这些情况下,maven bundle 插件通常会很小心,并且会导入不必要的内容。如果您确定不需要某些东西,您可以通过指定来禁止导入:

Import-Packages: !somepackage, *.

我个人的做法是尽量避免具有大量外部依赖项的库。如果我无法避免它们,那么我会检查已经捆绑了许多库的 servicemix 捆绑包。

于 2017-06-01T10:07:35.720 回答