`
sswh
  • 浏览: 166646 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Require-Bundle的缺点

    博客分类:
  • OSGi
 
阅读更多

原文引用自:http://blog.csdn.net/vking_wang/article/details/13240715

 

Require-Bundle的缺点

 

1、不知道究竟导入了哪些包

我们不知道究竟导入了哪些包,在不同版本中导入的包可能不同;

 

2、导出包的bundle重构后,会影响导入bundle

如果bundleA日渐臃肿,打算将其分拆成两个bundle。如果使用Import-Package,则仍能正常工作:

但是如果使用Require-Bundle,则新的bundle不会被bundleB导入;可能会抛出NoClassDefFoundErrors。

 

3、导致导入大量无用的包

即便只依赖bundleA中的一小部分代码,也需要导入其中的所有包;而bundleA又会依赖其他bundle,最终导致导入了大量无用的包。

 

为什么引入Require-Bundle?

引入Require-Bundle主要是因为Eclipse的历史遗留问题。在使用OSGi之前,Eclipse是基于全模块依赖的,如果OSGi仅仅支持Import-Package,要想让成千上万已有的Eclipse插件正常工作,几乎是不可能的。

 

分享到:
评论

相关推荐

    Laravel开发-pdf-lumen-bundle

    同时,如果遇到性能瓶颈,可以考虑使用其他PDF生成库,如TCPDF或mPDF,它们各有优缺点,可以根据项目需求选择最适合的解决方案。 总的来说,"Laravel开发-pdf-lumen-bundle"项目提供了在Lumen微服务环境中生成PDF的...

    Best Practices for Programming Eclipse and OSGi

    但是,Require-Bundle也有一些缺点: - 紧密耦合:需要特定包的存在,可能会带来脆弱性。 - 分割包问题:完整性、顺序性和性能方面可能存在问题。 - 版本依赖:对于版本控制不严格的项目来说,可能会引起问题。 ##...

    webpack 动态批量加载文件的实现方法

    正确的方式是在`require`中直接使用动态路径,这样Webpack会在构建时扫描指定目录并将其包含在bundle中。不过,这种方法不适合在单独的模块中复用,因为不同模块间的相对路径可能会导致问题。 **方法三:使用`...

    Ruby-Erubi是ruby的ERB模板引擎

    然后运行 `bundle install` 安装。接下来,你可以创建一个ERB模板文件(比如 `example.erb`),并用以下代码解析和渲染它: ```ruby require 'erubi' template = Erubi::Engine.new(File.read('example.erb')) ...

    详解React+Koa实现服务端渲染(SSR)

    这种基础SPA的缺点在于,所有JavaScript都需要在页面加载后执行,这可能导致用户在等待页面渲染完成时失去耐心。 为了优化SPA性能,我们需要进行代码拆分。这可以通过webpack的动态导入(dynamic import)和`react-...

    详解webpack提取第三方库的正确姿势

    总结来说,CommonsChunkPlugin 和 DLLPlugin 都是为了优化第三方库的打包和加载,但它们各有优缺点。CommonsChunkPlugin 简单易用,但每次构建都会处理第三方库;DLLPlugin 虽然设置较为复杂,但能显著提升构建速度...

    vue服务端渲染缓存应用详解

    return require('vue-server-renderer').createBundleRenderer(bundle, { template, cache: LRU({ max: 1000, maxAge: 1000 * 60 * 5, // 组件缓存时间(5分钟) }), }); } // ... ``` 在实际应用中,还...

    webpack external模块的具体使用

    这样,在编译后的bundle文件中,jquery模块不会被打包进来,而是保留了require语句,以便在上层使用时,jquery才可能被真的引入进来。 在实际应用中,external模块可以帮助我们避免代码冗余,减少bundle文件的体积...

Global site tag (gtag.js) - Google Analytics