问题标签 [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 投票
2 回答
378 浏览

jpa - 使用 Bndtools 增强 JPA

一些 JPA 实现使用字节码增强来实现性能。我对 OpenJPA 和 EclipseLink(称之为编织)感兴趣。它们提供了一个 Ant 任务来在构建时完成它。我可以让 Bndtools 运行它(不太可能)还是给它已经增强的 .class 文件?

一种可能性是编写一个 Bnd 插件,所以我正在寻找其他插件。

0 投票
3 回答
4761 浏览

java - 使用 Maven、OSGi 和 Bndtools

今天有人问我在我们当前的 OSGi 应用程序中使用 Maven 是否是一个好主意。我们使用了 Bndtools,它很棒,因为它使开发尽可能简单。即使在应用程序运行期间,Bndtools 也使用 OBR 来维护其他包和依赖项解析。

由于 Maven 广泛传播并且如此受欢迎,因此大多数人都尝试在 OSGi 环境中使用它。对我来说,这是两种不同的方法。OSGi 有自己的依赖声明,MANIFEST.MF 和 Maven 一个 pom,您可以在其中声明它们。所以如果你同时使用它们,你将声明依赖两次。当然,您可以使用 Apache OSGi Maven 插件来避免它,Maven 负责创建 MANIFEST.MF。但是 Maven 存储库并不真正关心捆绑包。因此,您可能会引用非捆绑 jar。

当然,使用 Maven 也有好处,但是将它与 OSGi 或特别与 Bndtools 结合真的是一件好事吗?

有人可以提供优点或缺点!有人使用这两种方法的实际经验吗?

0 投票
1 回答
93 浏览

osgi - 找出 OBR 认为需要捆绑包的原因

有没有一种简单的方法来理解为什么 Bndtools OBR 分辨率决定它需要一个特定的包来满足运行要求?在我的特殊情况下,我有所有org.slf4j.*的包-runsystempackages,但它仍然坚持包括slf4j-api.

0 投票
2 回答
221 浏览

deployment - 在哈德逊部署 Bndtools 项目

因为我是使用 Bndtools 开发 OSGi 的忠实粉丝。我也想将它用于我的新项目请求。但一项要求是所有构建过程都应由 Hudson 完成。

我的问题是如何实现我可以使用连接到我的 Bndtools 项目的 Hudson?也许有人为我提供了分步教程:) 此外,Hudson 会使用 OBR 来解决 Bndtools 正在做的依赖关系吗?这样的部署过程应该如何?顺便说一句,Bndtools 有一个“集成测试”项目环境,它在后台启动一个 OSGi 环境。哈德森会理解这种测试吗?

尽可能多地使用 Bndtools 的最佳实践是什么?

谢谢你的帮助。

基督教

0 投票
1 回答
554 浏览

ant - 将 PaxExam 与 Bndtools 一起使用

有没有人尝试过使用 Bndtools 运行 PaxExam Junit 测试并可以给我一些建议?我自己试过了,但是没有 Maven,下载所有依赖项很痛苦。

到目前为止我所做的:

  1. 从 Central Maven 下载 PaxExam 依赖项(还有更简单的方法吗?)
  2. 在 cnf/bnd.bnd 中创建包含所有依赖项的属性
  3. 将属性添加到我要编写测试的 buildpath
  4. 执行测试失败,因为缺少更多依赖项,所以回到 1。:D

我想使用 PaxExam,因为它们只生成测试报告,但它们并不是真正的“Junit 测试”,因此更容易将 Ant Junit 任务用作 Bndtools 的集成测试。

后期场景:

  1. 与 Hudson 和 Ant 建立项目
  2. Hudson 还应该执行 Junit Ant Task,其中失败的测试也应该停止构建过程

上面的场景已经可以在没有运行 OSGi 环境的情况下使用普通的 Junit4 测试,但现在我想做集成测试。

有人能帮我吗?

问候。

0 投票
1 回答
317 浏览

maven - 通过 BND 将 Maven POM 放入 OSGi 包装器?

我有一个想在 OSGi 环境中使用的第三方 JAR,但它没有适合 OSGi 的 MANIFEST.MF。所以,我使用 BND(嗯,BNDTools)来包装它。这很好用,但是:

我还希望能够轻松地将它与 Maven 一起使用(它也没有设置),所以我想包含一个描述其依赖关系的 Maven POM。有没有办法通过 BND 做到这一点?这是我尝试过的:

我查看了各种 Mavenized JAR 的布局,发现它们似乎将 POM 包含在 META-INF/maven/groupId/artifactId 中。例如:

所以,我做了一个 POM 并把它放在这样的地方,然后修改 bnd.bnd 有:

但是,生成的 JAR 不包含该文件。

我认为(但不是 100% 肯定)我可能误读了 BND 关于“-include”的文档——看起来它可能是为了在生成的 MANIFEST.MF 中包含额外的清单指令,而不是在 JAR 中包含额外的文件。

但无论如何,有没有办法使用 BND 来完成我想做的事情?或者我是否必须使用另一个重新包装程序来使用 POM 创建一个 JAR,然后使用 BND 重新包装而不是使用它来重新包装原始 JAR?

提前感谢您的帮助。

0 投票
1 回答
118 浏览

java - 如何访问仅由反射引用的 OSGi/Bndtools 中的包?

我使用 bndtools 从 owlim-lite 制作了一个捆绑包,并添加了所有必要的依赖项,以便 OBR-resoultion 正常工作。Sesame (Semantic Web Repository) 应该使用 owlime-lite,但它只在每次反射时访问 owlime-lite。我怎么能用 OSGi/Bndtools 做到这一点?

0 投票
2 回答
2358 浏览

osgi - bndtools 激活包

如何在 bndtools 中使用 Activator 创建一个简单的捆绑包?它一直在说:

我在 Eclipse 中创建这个项目的方式是:

  1. 创建新的“Bndtools OSGi 项目”
  2. 右键单击,配置 - 转换为 Maven 项目
  3. Activator.java在包中创建com.myproj
  4. 添加com.myproj到私人包
  5. 将激活器设置为com.Activator

这是我的 bnd 文件:

我生成的 jar 是空的。有小费吗?

PS:这是我的 Eclipse 项目(导出为 zip 存档),以防它对事物有所启发:https ://dl.dropbox.com/u/9162958/scraper.zip

0 投票
2 回答
534 浏览

java - 将 jfxrt 移动到 lib/ext 以用于 OSGI

有人建议,解决 javafx 类加载和 osgi 问题的部分方法是将 jfxrt 移动到 Java 安装 lib/ext 目录,以便在 JVM 启动时加载它。

如果这是在 Java 的私有安装中完成的,则 javafx 类在设计时可用,但在安装 javafx 包时在运行时找不到。

有可能这可以工作吗?

我在 Eclipse 中使用 felix 和 bndtools 作为 Ubuntu 12.04 上的开发环境。

0 投票
1 回答
1401 浏览

jsf - OSGI 和 JSF 如何协同工作?

我是 OSGI 的新手,在尝试创建 WAB 时遇到了很多问题。我在 Eclipse 中使用 BndTools 来帮助我使用 OSGi。我现在的问题是如何将 JSF 与 OSGi 集成。我想制作一个主要的 Web 服务器,并添加带有 jsf 页面运行时的捆绑包。我怎样才能做到这一点?有什么需求?

提前致谢!