`
sswh
  • 浏览: 163730 次
  • 性别: 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插件正常工作,几乎是不可能的。

 

分享到:
评论

相关推荐

    前端开源库-require-extension-hooks-vue

    【标题】:require-extension-hooks-vue - 前端Vue.js模块加载器扩展 在前端开发领域,模块管理和加载是构建复杂应用的关键部分。`require-extension-hooks-vue` 是一个针对 Vue.js 框架的开源库,它扩展了 Node.js...

    前端开源库-require-extension-hooks-babel

    "require-extension-hooks-babel" 就是一个这样的工具,它主要用于JavaScript代码的编译和转换,尤其对于使用ES6+语法和React、Vue等现代前端框架的项目,它的作用尤为显著。 "require-extension-hooks-babel" 是一...

    org.eclipse.jface.text_3.12.0.v20170523-1043.jar

    解决代码自动补全时按空格键也上屏问题

    前端开源库-require-extension-hooks

    "require-extension-hooks" 是这样一个库,它允许我们为JavaScript的模块加载机制添加自定义的扩展类型处理逻辑,极大地增强了代码的可扩展性和灵活性。这个库主要用于Node.js环境中,但也可以在支持CommonJS规范的...

    前端开源库-sake-bundle

    require 'sake-bundle' task :bundle_js do bundle js: 'src/**/*.js', to: 'build/bundle.js' end ``` 运行`sake bundle_js`,就会将`src`目录下的所有JS文件打包到`build/bundle.js`。 ### 4. 进阶特性 `sake...

    express-prom-bundle:一包中具有标准Prometheus指标的快速中间件

    表达普罗米修斯束 将流行的Prometheus度量标准...const promBundle = require ( "express-prom-bundle" ) ; const app = require ( "express" ) ( ) ; const metricsMiddleware = promBundle ( { includeMethod : tr

    前端开源库-fis-postprocessor-require-async

    本文将深入探讨一个名为“fis-postprocessor-require-async”的开源库,该库主要用于处理FIS(Fast Integrated System)框架中的异步模块加载机制。 FIS是一个强大的前端集成解决方案,它集成了构建、部署、调试等...

    ca-bundle:可让您找到系统CA捆绑包的路径,并包括Mozilla CA捆绑包的后备

    安装使用以下命令安装最新版本: $ composer require composer/ca-bundle要求需要PHP 5.3.2,但是强烈建议使用最新版本PHP。基本用法Composer\CaBundle\CaBundle CaBundle::getSystemCaRootBundlePath() :返回系统...

    前端开源库-require-at

    【前端开源库-require-at】是一个专为前端开发者设计的模块加载工具,它允许你在JavaScript代码中模拟在不同目录下的require调用。这个库的主要目的是为了帮助开发者在处理复杂的项目结构时,能够更加灵活地管理和...

    前端开源库-require-mapper

    "require-mapper"就是一个这样的开源库,它专注于解决本地模块的映射问题,使得开发者能够更加便捷地访问和管理项目中的模块。在本文中,我们将深入探讨require-mapper的工作原理、使用场景以及如何有效地集成到你的...

    require-css.js

    在非专业前端开发的工作中(比如使用vuejs开发),免不了要进行模块化,js的加载使用require.js就可以了,但是对于.css文件的加载需要使用插件,在试用了github上提供的require.js后发现不太好用(报错,还得改人家...

    浅析webpack-bundle-analyzer在vue-cli3中的使用

    .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin) } } ``` 此配置将会在webpack构建过程中启动bundle-analyzer插件,分析打包结果,并通过默认配置在本地启动一个HTTP服务器,监听在8888端口,...

    glslify-bundle:将glslify-deps依赖树捆绑到GLSL源字符串中

    var bundle = require ( 'glslify-bundle' ) var deps = require ( 'glslify-deps' ) var path = require ( 'path' ) var file = path . join ( __dirname , 'index.glsl' ) deps ( ) . add ( file , function ( ...

    schedule-bundle:在Symfony应用程序中计划Cron作业(commandscallbacksbash脚本)

    ScheduleBundle 在您的Symfony应用程序中计划Cron作业(命令/回调/ bash脚本)。...安装$ composer require zenstruck/schedule-bundle 如果不使用Symfony Flex,请确保启用捆绑软件。快速开始添加您的

    前端项目-require-text.zip

    "前端项目-require-text.zip"是一个针对这一需求的解决方案,它利用了AMD(Asynchronous Module Definition)模块化加载机制,特别是针对文本资源的加载。AMD是一种在浏览器环境中异步加载JavaScript模块的方式,它...

    webpack-bundle-tracker:将有关Webpack编译过程的一些统计信息吐出到文件中

    寻找维护者 该存储库没有维护,因为我没有任何空闲时间可用于此工作。...var BundleTracker = require ( 'webpack-bundle-tracker' ) ; module . exports = { context : __dirname , entry : { app :

    Laravel开发-pdf-lumen-bundle

    这个名为"Laravel开发-pdf-lumen-bundle"的项目,显然关注的是如何在Lumen应用中生成PDF文件。 PDF(Portable Document Format)是一种通用的文件格式,能够保留文档的原始布局和格式,使得用户在不同设备和操作...

    前端开源库-require-nocache

    然而,有时在开发过程中,我们可能需要禁用缓存,以便实时查看代码更改的效果,这就涉及到了`require-nocache`这个开源库。`require-nocache`是一个专为Node.js设计的模块,它提供了一个非缓存版本的`require()`函数...

    xi-bundle-dialog:xi-bundle-dialog

    依赖关系xi-bundle-ajax安装作曲家.json "require" : { ... "xi/dialog-bundle" : "2.3.x-dev"}appKernel.php -文件 <?php new Xi \ Bundle \ AjaxBundle \ XiAjaxBundle (), new Xi \ Bundle \ ...

    cache-bundle:一个基于browserify的简单脚本捆绑工具

    var Bundle = require ( 'cache-bundle' ) ; var bundler = new Bundle ( ) ; budnler . bundle ( { file : __dirname + '/fixtures/ggg.js' , source : 'require("./a"); console.log("i am ggg");' } ) . then

Global site tag (gtag.js) - Google Analytics