java internal_java – 控制对“.internal”包的访问的最佳实践

不是仅仅是将Meta-INF / MANIFEST.MF更新为一个插件osgi项目(如果还没有?).它应该看起来像:

Manifest-Version: 1.0

Bundle-ManifestVersion: 2

Bundle-Name: My-plugin

Bundle-SymbolicName: com.mycompany.mypluginname

Bundle-Version: 1.0.0

Bundle-Vendor: MyCompany

Bundle-requiredExecutionEnvironment: JavaSE-1.6

Service-Component:

Import-Package: org.apache.log4j;version="1.2.14" (,separated etc)

Export-Package: com.mycompany.mypluginname.myapipackage;version="1.0.0"

然后很好地省略了.内部包.平台应该休息.

顺便说一下,然后使用Import-Package:在任何依赖的bundle,plugins等中,而不是依赖于jar / project(这是老的,吮吸的方式,它不起作用 – 正如你所发现的).

这样可以大大减少你的代码依赖关系.如果你决定你的插件代码应该属于不同的jar / bundle,那么你只需移动单独的包,并使新的bundle / plug-in导出它.由于客户端捆绑从“云”导入包(云作为OSGi平台),您可以更自由地移动代码.

注意:如评论中所述,您不需要在OSGi中运行应用程序来获得此“受益”. Eclipse可以在OSGi包限制下编译它的代码,并且您的构建/服务器可以在“未受保护的世界”中运行.例如OSGi清单不对第三方(希望使用内部)执行任何操作,但对那些想要它们的人提供“通知”和限制.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值