问题标签 [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 回答
344 浏览

java - 如何在 apache felix 上实现异步处理?

在我们当前的项目中,我们需要异步进行一些计算。我们在 Apache Felix 4 上使用带有 bndtools 的 OSGi。关于如何做到这一点的任何建议?我们正在寻找类似http://docs.oracle.com/javaee/6/tutorial/doc/gkkqg.html

0 投票
1 回答
382 浏览

eclipse - 创建新的 Bndtools 项目后,Eclipse 中缺少 Bndtools 欢迎对话框来设置配置项目

我正在关注来自 Eclipse 市场的 Bndtools 3.3 的Bndtools 教程,但是在创建项目后,教程说:“您现在将看到‘欢迎’对话框。单击下一步,然后单击完成以允许 Bndtools设置配置项目并导入基本存储库。” 我没有看到欢迎对话框,也不知道如何打开对话框来设置配置项目。我还停留在Amdatu 教程中的并行步骤中,它说:“关闭对话框后,Bndtools 将要求创建一个配置项目。选择‘Amdatu 配置’。”

我在 Bndtools 教程中遇到了其他问题,例如创建 Bndtools 项目后在 Eclipse 中出现的错误“缺少 Bnd 工作区”。我创建了一个 Bndtools 工作区并且错误消失了,但我想知道我遇到的问题是否是 Bndtools 教程过时或不完整的更大问题的一部分。我已经使用 Eclipse Neon 和 Eclipse Luna 尝试了 Bndtools 教程,Bndtools 网页上说它受支持,但是在任一版本的 Eclipse 中都会出现相同的错误。

0 投票
4 回答
413 浏览

osgi - 如何自动化 bndtools 构建

我对 OSGi 世界比较陌生,需要帮助来了解如何自动化我的构建过程。我熟悉了在 Eclipse 中使用 bndtool 并学会了如何解决依赖关系、运行、测试、调试和生成独立的 jar。我还浏览了 OSGi 官方网站上发布的基本和 Maven 教程。我的问题是如何自动化我的构建!所以,假设我有 SVN 中的代码。我需要能够检查代码,然后运行构建脚本/工具来生成我的包,然后我可以使用 Felix 或 Karaf 进行部署。基于 Maven 的官方教程(使用 OSGi enRoute)仅显示了如何生成我不感兴趣的独立 jar;我需要生成捆绑包。我阅读了有关 Maven Bundle Plugin 的信息,但我认为在使用它时,我将失去 Eclipse 提供的基于 UI 的 bndtools 的所有奢华。

0 投票
1 回答
552 浏览

bndtools - 如何使用 Bndtools 从捆绑包中导入包

我按照这个 Bndtools 教程http://bndtools.org/tutorial.html来实现一个简单的问候服务。

首先,我在 bundle 中创建了这个接口org.example.api

然后是在 bundle 中实现上述接口的服务org.example.impl

当然,Greeting无法解析类型。我的问题来了:将包导入声明添加到impl捆绑包的指定方式是什么?我知道我可以手动编辑bnd.bnd以在指令org.example.impl中包含必要的包。-buildpath

但这相当不方便:记住包名,导航到适当的 bnd 文件,编辑指令,保存。这里不是添加缺少的导入的更方便的方法吗?

我一直在寻找类似快速修复(Ctrl+1)的东西,但这似乎不存在。

0 投票
1 回答
90 浏览

bnd - 在 Bndtools/Bnd 中运行由名称模式标识的测试

在包含集成测试的包中,我希望所有名称以结尾的类都Test被视为测试并在启动OSGi Framework JUnit Tests时执行。

文件中的Test-Classes指令bnd.bnd似乎是指定这一点的正确位置。但是,http://bnd.bndtools.org/macros/classes.htmlclasses上的宏文档很少。

因此,我的问题是如何形成指令以包括所有以Test沿线结尾的类

0 投票
1 回答
97 浏览

ant - bndtools : 如何获取 jar 文件或插件的最新版本

我是 bndtools 的新手。我想知道是否有任何方法可以检索我的 jar 文件的最新版本?我的 lib 文件夹有很多 JAR 版本(My-Api-1.0.50、My-Api-1.0.85、My-Api-1.0.90)?

我设法通过使用 ant 来解决依赖关系。我的 JAR 文件保存在 lib 文件夹中。我想在我的 bnb.bnb 中使用它。但我需要使用最新版本。

代替 :

我想要类似的东西或替代解决方案:

请指教??谢谢

0 投票
1 回答
266 浏览

maven - 从 bndtools/eclipse 运行时出现 OSGi Netty / Vertx 错误

我正在尝试在 OSGi (bndtools/eclipse) 下运行 vertx 并从底层 Netty 获取此错误消息。

我在独立模式(maven)中使用 bndtools 使用 vertx 3.3.3,因此所有依赖项都是使用 maven 而不是标准 bndtools(cnf)模板导入的。

17:00:05.935 [main] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework 17:00:05.938 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple 17:00:05.939 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.maxRecords: 4 17:00:05.971 [main] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 8 17:00:05.993 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available 17:00:05.994 [main] DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows 17:00:05.994 [main] DEBUG io.netty.util.internal.PlatformDependent - Java version: 8 17:00:05.994 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noUnsafe: false 17:00:05.995 [main] DEBUG io.netty.util.internal.PlatformDependent - maxDirectMemory: 3776970752 bytes (maybe) ! Failed to start bundle mybundle.vertx-2.0.0, exception activator error Could not initialize class io.netty.util.internal.PlatformDependent0 from: io.netty.util.internal.PlatformDependent:<clinit>#101

在我的捆绑激活器中,我尝试使用静态方法创建一个新的顶点:

```

```

在标准的 bndtools 模板(无 maven)中,这可以正常工作。我不确定我是否可以在同一个项目中混合这两种模式,我更喜欢坚持使用 maven 格式。

编辑

我创建了这个从主 Paremus 项目 hello 示例克隆的示例项目,以演示我在使用 Vert.x 和 OSGi https://github.com/gadieichhorn/hello-examples/tree/hello-1.13.x时遇到的问题

编辑 2

我将 Vertx 初始化移动到服务(不是捆绑激活器),现在我收到了更详细的错误。

任何帮助表示赞赏

0 投票
0 回答
200 浏览

osgi - 如何使用 BndTools 3.3.0 (enRoute) 设置 Blueprint Gemini 2.0.0?

我对 OSGi enRoute 和 BndTool 实现应用程序的概念很感兴趣。但是我在尝试使用 Blueprint Gemini 时遇到了困难。请有人帮助我。

问题

如何使用 Blueprint Gemini 2.0.0 运行基于 BndTools 的 OSGi 应用程序?

我的问题

  • 我想在基于 BndTools 的 OSGi 应用程序中使用 Blueprint Gemini 2.0.0。但是我的 OSGi 包没有得到解决。
  • 尝试自动解决时显示此错误消息:

缺少需求 &(osgi.extender=osgi.blueprint)(version=[1.0.0,2.0.0))

  • 我想知道为什么我的捆绑包需要版本 <=1.0.0 和 <2.0.0?这没有在我的项目的任何配置文件中指定(在 *.bnd 和 *.bndrun 文件中都没有)?

我的项目是如何设置和配置的

  • 使用 BndTools 3.3,我在 Eclipse Neon 中创建了一个新的“Bnd OSGi 项目”并选择“OSGi enRoute 3.3.0”作为项目模板。
  • OSGi 框架:org.eclipse.osgi;version='[3.10...]

  • 对于项目名称,选择了后缀“应用程序”。*然后我添加了一个 blueprint.xml。

  • 在 *.bndrun 文件中,我添加了两个包作为“运行要求”:

    • 我的捆绑包和
    • org.eclipse.gemini.blueprint.extender。在 *.bndrun 文件中,我添加了两个包作为“运行要求”:我的包和 org.eclipse.gemini.blueprint.extender:blueprint.extender 包已使用以下 Maven XML 语法添加到我的 Central 存储库中:

    <dependency> <groupId>org.eclipse.gemini.blueprint</groupId> <artifactId>gemini-blueprintextender</artifactId> <version>2.0.0.RELEASE</version> </dependency>

0 投票
1 回答
224 浏览

osgi - 无法从 Bndtools 中的 Maven 存储库添加测试依赖项

在 Bndtools 工作区中,我想在某个项目中添加对 JUnit 和 Mockito 的依赖项

因此项目的bnd.bnd文件包含以下-testpath指令:

一个“全局”bnd 文件cnf/ext/repositories.bnd表示这些存储库:

maven-central.xml列出了这些依赖项:

存储库视图显示两个存储库。Mockito 库甚至存在于两个存储库中:Maven 存储库中的 v2.6 和 Bndtools Hub 中的 v 1.x

JUnit 依赖可以很好地解决,但无论我尝试什么,Mockito 依赖都无法解决:

Repositories视图用感叹号[!]NullPointerException装饰无法解析的条目

在此处输入图像描述

调试 Bndtools 使我得出结论,没有相应 POM 文件的本地副本(请参阅bnd 问题 #1849)。但是,我无法弄清楚为什么没有 POM 文件。

我也尝试过其他库而不是 Mockito,例如 AssertJ,但没有显着差异。因此,这似乎不是 Mockito 本身的问题。

任何关于为什么 Mockito 无法解决或如何解决此问题的提示都将非常受欢迎。

0 投票
0 回答
638 浏览

java - 如何加载 OSGi 包

我正在尝试从用 Java 创建的 OSGi 容器运行 BnD OSGi 包,但什么也没有发生。

在一个模块中,加载和启动捆绑包的模块:

这是我要加载的一个包:

服务:


执行:


然后我使用这个模块加载场景图:


这是一个将组件加载到场景图上的示例模块。

我没有抛出任何错误。我错过了什么?谢谢大家。