问题标签 [bnd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - OSGi/BND:如何从包生成中排除类?
我有一个具有以下结构的捆绑项目(Eclipse):
当我尝试制作捆绑包时,我收到一个错误,指出有一些“未解决的引用”。该错误是由内部测试类引起的。如何配置 BND 以忽略这些类?
将测试用例拆分为一个单独的项目不是一种选择,因为测试用例的粒度比捆绑提供的 API 更精细。
eclipse - OSGI 的 bnd 插件在 Eclipse 中不起作用
我正在使用 Eclipse 靛蓝版本。我下载了 bnd 插件(来自http://www.aqute.biz/Bnd/Download)。当我尝试右键单击 bnd 文件并执行“制作捆绑”时;我收到这个晦涩的错误消息。它说:“所选操作当前不可用”。如果我查看错误日志;我看到一堆错误,类似于“类加载失败:'aqute.bnd.plugin.popup.scripts'。
我被难住了。。有人见过这个吗?
maven - BND 将相同的包放入 manifest.mf 的导出和导入部分
我有一个 Vaadin 应用程序,我正在尝试使用 Maven + BND 将其构建为一组 OSGI 包。
我无法将捆绑包部署到 Apache Felix,因为某些依赖项无法解决。Apache Felix 抱怨找不到包“A”所需的包 XYZ,尽管这个包是在同一个包中定义的!
我查看了由 Maven + BND 生成的 MANIFEST.MF 文件,发现此捆绑包中的包 (XYZ) 已添加到“导入”和“导出”部分。我明白为什么“出口”,但为什么“进口”?为什么捆绑包试图导入自己的包?
我的清单.MF
ant - 使用 BND 嵌入第三方 JAR
我有一个使用 ANT 和经典 BND 工具构建的 OSGi 包。我的包在内部使用了一个库 (JAR),它不能作为我的 OSGi 容器 (Apache Felix) 中的包使用。所以,我试图将它嵌入到我的 bundle中,以便在运行时访问。
如何使用 ANT+BND 嵌入这样的库/JAR?(注意:我不能使用 MAVEN,使用它可能会容易得多)
ant - BND Ant 任务 - 包装非 OSGi jar
我正在尝试使用 Antbndwrap
任务将非 OSGi jar 包装在目录中。我目前的 Ant 配置是:
这很好用,但问题是它还包装了现有的 OSGi jar,这会导致问题。例如,我注意到它将Bundle-SymbolicName
标头更改为某个默认值。它可能正在改变我不想要的其他东西。我只希望它在根本没有 OSGi 信息的 jar 上运行。
有什么方法可以告诉 BND 忽略清单中现有的 OSGi 标头,或者完整的 jar 已经 OSGi-fied?
java - Spring OSGI 服务引用接口必须通过消费包显式导入?
我熟悉 Spring OSGI 和 Blueprint,但遇到了“类路径”困难(就像许多新手一样)。
我有两个 OSGI 包——一个定义了各种 bean(使用蓝图,没关系)并将它们作为服务导出;以及另一个引用服务 bean 的包(使用 Spring OSGI)并将它们插入到一些 Apache Camel 路由中。
服务提供者捆绑包的蓝图如下所示:
服务消费者包的 Spring 上下文如下所示:
...但是在部署时,Spring“找不到类 [org.apache.camel.spi.DataFormat]”。我可以将该接口添加到我的 Bnd 指令的 Import-Package 部分,但是必须在不同的位置手动列出该类两次似乎是多余的。
另一种选择是在我自己的项目中扩展接口,这样 Bnd 会自动选择它,但这也很麻烦。
我想我希望 Spring 通过接口名称查找服务,而不必实际解析接口类。这是幼稚的吗?或者有没有办法让 Bnd 在我的 appContext 的服务引用中自动导入接口?如果 Bnd 可以做到这一点(例如使用插件),是否有一种标准方法可以将 Bnd 插件与 Maven 的 Apache Felix 捆绑插件一起使用?
java - OSGi Felix 和 BndTools - 按名称加载类
在我的 OSGi 环境中,我正在尝试预加载数据库驱动程序以供进一步使用。通常,可以这样做:
之后,可以创建连接。但是,如果我在 Felix 下的 OSGi 中使用它,他说找不到类 ( ClassNotFoundException
) 并且无法创建连接。但是当我做这样的事情时(try-catch
被省略):
然后一切正常并创建连接。但是,这不是很漂亮,因为无法交换驱动程序类。
有没有办法用第一种方法加载类?我假设我必须提供正确的类加载器。但我从哪里得到它?
MySQL 驱动程序作为 OSGi 包装器包提供。
osgi - 如何在 OSGI 声明式服务中将 Service-Component 标头添加到捆绑清单文件中?
我正在使用 OSGI 声明式服务 (SCR) 创建组件包。我不热衷于使用 maven-scr-plugin 生成的基于注释的组件 xml 文件。我正在手动编写 component.xml。但是,我需要将 Service-Component 标头添加到 MANIFEST 文件中。我正在使用 maven-bundle-plugin 来构建 osgi 包,我可以在插件配置中给出任何指令来将这样的标头添加到清单文件中吗?
一些有用的链接:
谢谢
java - 如何使用 eclipse 和 bndtools 将 jar 转换为 OSGi 包
我正在寻找使用 eclipse bndtools 插件将 jar 转换为 OSGi 包的分步指南。我知道可以使用命令行使用 bnd 执行此操作,但很高兴知道如何通过 IDE 执行相同操作。
我可能遗漏了一些东西,但本教程仅说明了如何从头开始创建项目。
jpa - 使用 Bndtools 增强 JPA
一些 JPA 实现使用字节码增强来实现性能。我对 OpenJPA 和 EclipseLink(称之为编织)感兴趣。它们提供了一个 Ant 任务来在构建时完成它。我可以让 Bndtools 运行它(不太可能)还是给它已经增强的 .class 文件?
一种可能性是编写一个 Bnd 插件,所以我正在寻找其他插件。