11、OSGi 开发中的包管理与动态加载技术解析

OSGi 开发中的包管理与动态加载技术解析

1. 避免拆分包问题

在 Java 开发中,包的管理是模块化的重要部分。 Import - Package Export - Package 清单头以 Java 包为粒度工作,而 Require - Bundle 清单头则以捆绑包为粒度建立代码依赖。

1.1 Require - Bundle 的使用示例

假设有捆绑包 B2 导出包 p 和 q,并从捆绑包 B3 导入包 r。捆绑包 B1 的清单文件如下:

Bundle - SymbolicName: B1
Require - Bundle: B2; visibility:=reexport

由于 B1 没有 Import - Package 头,且 Require - Bundle visibility 参数设置为 reexport ,B1 可以看到包 p、q 和 r。若 visibility 参数移除或设置为 private ,B1 只能看到包 p 和 q。

1.2 Require - Bundle 的问题

使用 Require - Bundle 会带来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值