是否可以仅重新导出依赖插件的一部分?
我的意思是......
Plugin_1有3个导出的包
com.p1
com.p2
com.p3
当我重新出口Plugin_1时,我不想再出口该套餐" com.p2"。有办法做到这一点吗?
*重要的是说Plugin_1无法更改!
为什么这样: Plugin_1是一个无法触及的传统插件。它有一堆类,我想通过一个全新的插件(例如:Plugin_New)提供再出口OSGI功能,但是这些重新出口的类中的一些(" com.p2"包中的那些)应该被隐藏因为我想客户使用我刚刚在新插件上创建的新类。 Plugin_1代码重构是不可能的,因为它仍然被其他系统使用。
答案 0 :(得分:3)
在OSGi中,重新导出是一个概念或Require-Bundle。 Require-bundle几乎在所有情况下都是really bad idea
。
如果您只使用Package-Imports和-Exports,那么您在此区域可能遇到的任何问题都会神奇地消失。 : - )