插件OSGI部分重新出口

时间:2015-12-04 17:24:09

标签: java osgi

是否可以仅重新导出依赖插件的一部分?

我的意思是......

Plugin_1有3个导出的包

com.p1
com.p2
com.p3

当我重新出口Plugin_1时,我不想再出口该套餐" com.p2"。有办法做到这一点吗?

*重要的是说Plugin_1无法更改!

为什么这样: Plugin_1是一个无法触及的传统插件。它有一堆类,我想通过一个全新的插件(例如:Plugin_New)提供再出口OSGI功能,但是这些重新出口的类中的一些(" com.p2"包中的那些)应该被隐藏因为我想客户使用我刚刚在新插件上创建的新类。 Plugin_1代码重构是不可能的,因为它仍然被其他系统使用。

1 个答案:

答案 0 :(得分:3)

在OSGi中,重新导出是一个概念或Require-Bundle。 Require-bundle几乎在所有情况下都是really bad idea

如果您只使用Package-Imports和-Exports,那么您在此区域可能遇到的任何问题都会神奇地消失。 : - )