问题标签 [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.
java - 如何在 apache felix 上实现异步处理?
在我们当前的项目中,我们需要异步进行一些计算。我们在 Apache Felix 4 上使用带有 bndtools 的 OSGi。关于如何做到这一点的任何建议?我们正在寻找类似http://docs.oracle.com/javaee/6/tutorial/doc/gkkqg.html
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 中都会出现相同的错误。
osgi - 如何自动化 bndtools 构建
我对 OSGi 世界比较陌生,需要帮助来了解如何自动化我的构建过程。我熟悉了在 Eclipse 中使用 bndtool 并学会了如何解决依赖关系、运行、测试、调试和生成独立的 jar。我还浏览了 OSGi 官方网站上发布的基本和 Maven 教程。我的问题是如何自动化我的构建!所以,假设我有 SVN 中的代码。我需要能够检查代码,然后运行构建脚本/工具来生成我的包,然后我可以使用 Felix 或 Karaf 进行部署。基于 Maven 的官方教程(使用 OSGi enRoute)仅显示了如何生成我不感兴趣的独立 jar;我需要生成捆绑包。我阅读了有关 Maven Bundle Plugin 的信息,但我认为在使用它时,我将失去 Eclipse 提供的基于 UI 的 bndtools 的所有奢华。
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)的东西,但这似乎不存在。
bnd - 在 Bndtools/Bnd 中运行由名称模式标识的测试
在包含集成测试的包中,我希望所有名称以结尾的类都Test
被视为测试并在启动OSGi Framework JUnit Tests时执行。
文件中的Test-Classes
指令bnd.bnd
似乎是指定这一点的正确位置。但是,http://bnd.bndtools.org/macros/classes.htmlclasses
上的宏文档很少。
因此,我的问题是如何形成指令以包括所有以Test
沿线结尾的类
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 中使用它。但我需要使用最新版本。
代替 :
我想要类似的东西或替代解决方案:
请指教??谢谢
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 初始化移动到服务(不是捆绑激活器),现在我收到了更详细的错误。
任何帮助表示赞赏
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>
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 无法解决或如何解决此问题的提示都将非常受欢迎。
java - 如何加载 OSGi 包
我正在尝试从用 Java 创建的 OSGi 容器运行 BnD OSGi 包,但什么也没有发生。
在一个模块中,加载和启动捆绑包的模块:
这是我要加载的一个包:
服务:
执行:
然后我使用这个模块加载场景图:
这是一个将组件加载到场景图上的示例模块。
我没有抛出任何错误。我错过了什么?谢谢大家。