问题标签 [bndtools]

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.

0 投票
1 回答
560 浏览

java - 如何使用 Bndtools OSGi 项目创建动态 Web 项目。

我已经创建了一个生成 .jar 文件的 BndTools OSGi 项目。现在我想要在我的主项目中那个 jar 的 BundleContext ,即 Dynamic Web Project (.war File)。动态 web 项目不包含 bnd.bnd 文件。所以我无法注入该 jar 的依赖项。

有什么方法可以实现这一点。

0 投票
1 回答
122 浏览

eclipse-plugin - “uses”和“Import-Package”之间的不一致

我正在使用 bndMANIFEST.MF为库生成。最后,我得到了一个带有以下冲突的清单:

A, B,C都驻留在单独的插件中,也称为A,BC. 在运行时,Eclipse 不加载 plugin C,所以我遇到了崩溃。此外,Eclipse 工具似乎只查看 . Import-Package,因为该工具也不知道对C.

是否应该Import-Package始终包含uses声明中的所有包?它是一个 Eclipse 错误,还是(更有可能)我对 bnd 做错了什么,导致它错过了对 C 的依赖?

0 投票
0 回答
62 浏览

java - 包含来自非索引存储库的依赖项的问题

我正在尝试将现有的 EclipsePDE 应用程序移植到 BNDTools,但我遇到了问题。

我有一个包含多个子包的项目。其中一个使用 org.jscience,我从一个非索引的 Nexus 存储库中获得。这是 bnd.bnd 文件:

我手动将依赖项添加到 org.jscience。

这是有问题的子包的 .bnd 文件:

对 org.jscience.physics.amount 的依赖在子包的“Calculated Imports”中可见。没有编译错误(或项目上的任何其他错误)。

这是我遇到问题的 .bndrun 文件:

(我知道包和捆绑包的命名很奇怪,但这不是现在的问题)

使用此运行配置,我尝试使用“解决”按钮来解决运行配置所需的运行包,但我收到以下消息:

我尝试自己创建运行包,如下所示:

但是,如果我尝试运行运行配置,我只会收到无法找到 org.jscience 的消息。

当然我做错了什么,但是什么?任何帮助是极大的赞赏。

0 投票
1 回答
38 浏览

osgi - bndtools 教程中运行时没有 DS

我关注 bndtools 教程。在第 5 步,我应该在运行时看到 9 个捆绑包,包括 DS 捆绑包。 我应该得到的捆绑包

相反,我只得到这些捆绑包,并且 ExampleComponent 不提供 Greetings 服务:

我收到的包裹

有人知道我在这里做错了什么吗?

我使用 Eclipse Luna 版本:Luna Service Release 2 (4.4.2)

0 投票
2 回答
935 浏览

java - 在 OSGi 项目中使用 Sqlite JDBC Jar

我正在尝试学习 OSGi,我做了一个简单的项目,它将在 Sqlite DB 中创建一个表。我在构建路径中添加了“sqlite-jdbc-3.7.2.jar”。但是当我运行该项目时,它会显示“ClassNotFoundException”。

我使用带有 BndTools 的 Eclipse IDE。

我搜索了其他帖子,有些人说将 jar 添加为不同的捆绑包,然后将其导出。我尝试过这个。在工作区中,我选择了 Import->Plugins and Fragments -> Select The Directory。但它没有列出 Jar(适用于其他 Jar 但不检测 sqlite-jdbc-3.7.2.jar)。

我已经完成了如下操作,

se.sample.sqlitedbconn.ConnActivator.java

se.sample.connproperties.CreateTable.java

当我运行它时,我收到以下错误:

请帮助我:)

0 投票
1 回答
51 浏览

eclipse - 是否可以将 bnd 与 maven-bundle-plugin 一起使用来生成 eclipse 功能?

我正在使用 maven-bundle-plugin 为 Eclipse 生成插件。现在我需要生成 Eclipse 功能。我怎样才能实现它?

我不想为此使用 PDE。

0 投票
1 回答
318 浏览

osgi - Amdatu JPA (bndtools, felix DM) 无法解析 DataSource 服务

所以我松散地遵循 Amdatu JPA 视频教程,我几乎让它工作......

乍一看一切似乎都很好,只有 DataSource 服务没有解决,我不知道为什么。在我看来,它已注册。那么我将如何调试这个,应该有一些方法来调试这个,对吧?开始时,我在味精日志中有这个:

“dm”的输出:

所以上面的输出应该说明DataSource已经注册了吧?

进一步依赖于 DataSource 的一切显然都没有解决

所以我不明白为什么 DataSource 没有在那里解决?我检查了一下,似乎它是使用属性名称 = ManagedDS 注册的,但我对 Felix DS 很陌生,所以我不太确定这里发生了什么。

我也尝试添加这个

到我的一项服务,但这也无法解决。感谢您对此提供的任何帮助,但我最感激的是一种自己调试和解决此问题的方法。

0 投票
0 回答
462 浏览

gradle - 使用 bndtools 部署到 OSGi 容器?

我有一个使用 gradle 和 bnd 插件构建的多捆绑项目。依赖管理是通过bnd。我能够在 Eclipse 中启动和运行我的包。

我想知道通过 bnd 的正确部署工作流程是什么。该release任务将我所有的包放在一个发布存储库中——我只是使用了一个 filerepo——所以我将所有可部署的包放在一个文件夹中。

  • 如何收集正确的依赖项?有 bnd/gradle 任务吗?
  • 使用 Jenkins 进行 CI 构建,如何部署到远程 karaf 或 virgo 容器?
0 投票
1 回答
188 浏览

service - Amdatu 和 DependencyManager 错误注入服务

我安装了 Amdatu Bootstrap 并创建了一个项目。

我尝试使用dependecyManager 进行简单的服务注入,但运行时出现错误。

代码和我的错误。

这是我的服务的实现:

这是界面:

本服务的激活者:

之后,我创建了一个用于使用 xmlParserService 的测试包:

以及测试服务的激活器:

所以当我在运行描述符中运行它时,我有这个错误 ==>

所以我用 lb 命令显示活动包,然后我再次启动包。出现详细错误 ====>>

这是错误中提到的第 18 行 :: =>

在 TestActivator.java

0 投票
2 回答
3762 浏览

java - 如何在 OSGi 中使用 Apache POI

我想在 OSGi 中使用 Apache POI 来编写带有流式 OOXML API (SXSSF) 的 Excel 工作簿。从 POI 3.9 开始提供流 API。

由于最新的 Apache POI 3.11 jar 不是捆绑包:让 POI 在 OSGi 中工作的最佳方式是什么?

我尝试了两种方法:

  1. 将罐子直接嵌入到将使用它们的唯一包中
  2. 使用预先包装为捆绑包的 POI jar

我对将所有依赖项放在一起感到绝望。

首先关于在我的包中嵌入 POI jar:我的 bndtools 文件包含

这会导致一个包导入很多很多东西,例如org.bouncycastle.asn1.x509org.junit. 我不打算在我的应用程序中加密或测试 - 所以这两个可能在某种程度上是“可选的”。我该如何指定?有没有收集所有这些依赖项的好方法?

注意:至少org.apache.commons.codeccom.sun.msv.datatype.xsd.lib是额外需要的,但它们已经是捆绑包。


使用预包装的罐子,我尝试使用org.apache.servicemix.bundles.poi3.9_2。这也需要dom4j,所以我使用了预包装org.apache.servicemix.bundles.dom4j但至少需要 1.0 版本javax.xml.stream,我的 JVM/Felix OSGi 将其宣传为“唯一”版本0.0.0.1_007_JavaSE。我手动修复了这个(丑陋),但后来又陷入了另一个依赖。

有什么好办法?