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

osgi - 带有 JSP 和 BNDtools 的 Servlet

我在这里看到了一个关于使用 BNDtool 的 Servlets 的好教程:http ://www.ralfebert.de/tutorials/osgi_server/ 。

但是我如何从这个 Servlet 访问静态 html 文档和 JSP?当我想把它们放在哪里时,我应该把它们存放在哪里request.getRequestDispatcher("*.jsp")

0 投票
1 回答
833 浏览

osgi - 在 bnd-cache 中找不到捆绑包

我对 bndtools 有疑问。解析完成没有问题,但是在我单击运行描述符中的“运行 OSGi”后,出现以下问题:

Status ERROR: bndtools.core code=0 jena-arq~;version=[2.9.4,2.9.5) Not found in [bnd-cache, aQute.lib.deployer.obr.LocalOBR@1fef0b44, aQute.lib.deployer.obr.OBR@6ccadbd, aQute.lib.deployer.obr.LocalOBR@67a256c7, aQute.lib.deployer.obr.OBR@2d52912f] null

0 投票
1 回答
475 浏览

osgi - Brindy Vaadin OSGi/Guessit -Felix 有效,Equinox 无效

使用 bndtools 2.0 并根据最新的 Brindy Github 版本创建项目,当我创建基于 felix http jetty 和 felix scr 的依赖项的 run bnd 时,Vaadin 启动并且一切正常。

但是,如果我尝试使用 org.eclipse.equinox.http.jetty 等运行,servlet 似乎没有注册并且 vaadin 无法启动。

调试代码时,所有 ds 组件工厂位都可以正常工作,但 servlet 无法识别别名。

在尝试为 vaadin 7 更改它之前,我试图让它运行。

问题可能出在哪里的任何建议?

0 投票
1 回答
220 浏览

java - Bndtools 输出到控制台

我刚刚开始为我的 OSGi 项目使用 bndtools,但我似乎无法配置项目以将信息输出(Hibernate 信息、Spring DM 信息)输出到控制台(在 Eclipse 中)。我在这个项目上遇到了困难,因为我没有得到任何反馈,而且似乎没有创建日志文件。

0 投票
1 回答
998 浏览

jersey - 泽西资源无法在 OSGI 中解析

我一直在关注本教程视频,该视频展示了如何在 OSGI 中运行球衣服务器编辑:通过 Apache Wink 的 JAX-RS 服务器,请参阅接受的答案)。这是一个简短的视频,过程看起来非常清晰。我不清楚的是 HelloWorldResource 是如何加载到泽西岛的。HelloWorldResource 作为使用 Apache Felix DependencyActivatorBase 的服务注册到 OSGI 容器中(效果很好)。从我收集的内容来看,Apache Felix Whiteboard 应该以某种方式神奇地将其映射为 Jersey 资源,但是当我运行它时,我得到 404。

我知道该服务已正确映射,因为它在我发出“服务”命令时显示在控制台中。我知道服务器正在运行,否则我不会得到 404 not found。我已经仔细检查了捆绑包,并相信所有捆绑包都安装正确。

任何提示表示赞赏。

0 投票
0 回答
2065 浏览

jsp - 具有 JSP 支持的 OSGI 环境中的 Jetty 9 无法启动

我正在尝试在 OSGI 环境中运行 Jetty 9.0.3 并使用特殊的清单参数部署 WAR(实际上它是一个 jar,下面是 JettyTest-0.0.0.jar)。我正在按照 http://www.eclipse.org/jetty/documentation/current/framework-jetty-osgi.html上的说明进行操作

如果我不包括 JSP 支持,它工作正常,即,如果我从运行配置中删除以下行

但是如果我包含它们并因此包含 org.eclipse.jetty.osgi.boot.jsp 包,我会收到以下错误消息

我已经搜索了一个多星期来寻找这个错误我已经查看了第 216 行的源 org.eclipse.jetty.osgi.boot.jasper.JSTLBundleDiscoverer 我看不到任何明显的错误。

即使我没有在运行配置中包含 JettyTest-0.0.0.jar,错误也是一样的。

阅读 Jetty 的文档似乎我应该能够做我想做的事。我想知道这个错误的原因并修复它,我不想在我的设置中包含 pax-web 或任何其他重大更改。

有没有人遇到过类似的问题?还是您没有问题地做到这一点?请帮助我找到错误的根本原因。

以下是我使用的文件:

JettyTest-0.0.0.jar

清单文件

web.xml

索引.html

测试.jsp

运行.bndrun

更新

经过一些改进的日志记录后,我发现了完整的错误消息。我似乎错过了带有 org.xml.sax.ErrorHandler 的 JAR,任何人都知道我可以使用的 Apache Felix jar,或者包含此类的任何其他库?

0 投票
0 回答
131 浏览

egit - Howto use Bndtools and Egit Successfully

Eclipse Kepler, Bndtools 2.1.0.REL, EGit 3.03.

Create default Bndtools Component Development project.

Commit to a new repository outside the Eclipse workspace.

The proj files including cnf move to the repository, but....

The workspace in the repository view appears with a folder icon rather than the repo icon like the local repository etc.

What is the correct (or working way) to use bndtools with egit?

Follow Up.....

Turns out that committing to git works fine. My problem went away after restarting eclipse. Thanks to Ferry Huberts for pointing out that there is no problem using bndtools and git.

0 投票
1 回答
101 浏览

osgi - 如何在 OBR 存储库的“资源”元素中获取额外属性?

我们尝试让Apache Felix Web Console OBR 插件与当前BND Tools / Bindex生成的 OBR 存储库一起工作。

问题是生成的存储库(例如,使用来自 Eclipse 的“Release Bundles”生成的存储库)无法被 Felix Web 插件读取。

相反,插件可以正确理解Felix 自己的 OBR 存储库,因为它似乎在“resource”元素中具有其他属性,而我们的存储库中缺少这些属性:

http://www.osgi.org/download/rfc-0112_BundleRepository.pdf中的模式规范为“资源”XML 元素中的属性留出了空间,但是它们被定义为 Java API 的一部分。

这个 gitHub 叉子似乎可以完成这项工作https://github.com/rkrzewski/bindex但有人知道这是什么状态吗?有朝一日这会被整合到 Bindex 中吗?更新:这是 Rafał 的答案,这个分叉的所有者https://github.com/rkrzewski/bindex/issues/3#issuecomment-27784279 所以,我在 bndtools-users 谷歌组上重新提问:https://groups。 google.com/forum/#!topic/bndtools-users/ZdY0ASnLNmc

或者有没有其他方法可以使用缺少的资源属性生成 OBR 存储库?谢谢。

0 投票
1 回答
241 浏览

maven - 如何使用 bndtools 设置 Maven 构建的 Eclipse RCP 项目

我正在开发一个 Eclipse RCP (3.7) 应用程序并使用 Maven 和 Tycho 构建它。我想使用 bndtools 监控版本号的能力(灵感来自 EclipseCon Europe 2013 演讲“Never A Wrong (Semantic) Version again!”

不幸的是,本教程并没有让我走得太远,因为我不能简单地创建新的 bndtool 项目,而是需要使用我已经拥有的那些(具有 Maven 特性的 Eclipse 插件项目)。

如何设置?

0 投票
0 回答
450 浏览

osgi - Apache Felix 中 OBR 解析期间的 OSGI Bundle Repository (OBR) 功能冲突

我正在调查在 Felix 中使用 OBR 作为大型应用程序的部署选项,但遇到了一些初始障碍。

采取的方法

  1. 我创建了一个带有 manifest.mf 的新 jar,其中列出了“Require-Bundle:”部分中的每个应用程序依赖项(基本上是手动部署中的所有内容),一直到第三方库。我的意图是首先声明所有内容,然后将其配对并通过 OBR 解析第三方捆绑包
  2. 使用 maven-bundle-plugin 将我的本地 .m2 存储库索引为 OBR

    /li>
  3. 启动 Apache Felix 并添加 OBR 存储库

    /li>
  4. 尝试部署包含整个应用程序包依赖项列表的 jar

    /li>

问题

由于使用了 Spring 的依赖注入,javax.inject 上的某些包中有包要求。但是,在 OBR 中,有不止一个捆绑包宣传 javax.inject 的功能。它在 Spring 捆绑包和 Google Guice 捆绑包中都可用。不幸的是,OBR 解析器似乎选择了阻止我的应用程序启动的 Guice 实现。

解决方法

如果我从 OBR 索引中删除 Guice 库,则 OBR 解析器永远不会找到它,因此使用 Spring 实现,并且应用程序启动没有问题。

问题

  1. 我列出了高级应用程序 jar 中的所有依赖项,包括包含 Spring 的 javax.inject 实现的依赖项。为什么当我明确告诉 Felix 的 OBR 解析器部署一个已经提供它的包时,它会尝试解决包需求?当我尝试以这种方式部署(使用单个捆绑包)时,OBR 解析是否以深度优先的方式发生?
  2. 我很好奇通常用于创建/维护第三方库的 OBR 存储库以确保没有包功能冲突的策略是什么。是否应该创建和维护较小的 OBR 存储库索引,那些仅包含应用程序依赖项且没有包能力冲突的索引?是否有可以提供帮助的 Maven 插件?
  3. 更广泛的社区如何通过 OBR 一次部署超过 100 个捆绑包?也许有比父捆绑解决方案更好的选择。