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

osgi - 如何在运行时更改服务的属性(声明式服务)

当我使用 OSGi API(ServiceRegistration 的一个实例)时,我可以在运行时轻松更改服务的属性。我怎样才能对声明式服务做同样的事情?有没有基于 BndTool 的注解的解决方案?

非常感谢

0 投票
1 回答
1481 浏览

servlets - 使用 apache felix 白板 (OSGi) 构建 servlet 的问题

我正在尝试使用 BndTools 构建一个 servlet。我遵循了本教程:http ://www.ralfebert.de/archive/java/osgi_server/

但是..我无法让servlet工作:(。问题是apache felix白板包给出了调试消息:忽略Servlet服务[javax.servlet.Servlet],别名丢失或为空

我已经用谷歌搜索了几个小时,但我无法得到这个问题的任何答案。当我尝试访问 localhost:8080 时,我收到以下消息:

访问 / 时出现问题。原因:

这是我的servlet的代码:

我错过了什么或者我做错了什么?

这是我的 bnd.bnd 文件的来源:

而且因为我使用的是更高版本的 BndTools,我无法再管理 .bnd 文件中的所有内容。所以这里也是我的 run.runbnd 文件的来源:

0 投票
1 回答
223 浏览

osgi - 在 Osgi 中使用 System.out?

我正在使用 bndtools 并试图让“Hello World”运行。如何使用 jdk 功能?

bndtools 网站只解释了如何导出 API,这很好,但不知何故我需要使用 jdk 功能来编写任何东西,对吧?像 System.out。或 java.io。

磅显示:

0 投票
1 回答
467 浏览

eclipse - javax.crypto 与 Bndtools

我应该如何在我的 Bndtools 项目中使用 javax.crypto?

我正在尝试编译我的项目,但 Bnd 似乎无法找到 javax.crypto 库。

我正在使用带有 Bndtools 2.2 和 JDK 7 的 Eclipse Juno

0 投票
1 回答
617 浏览

java - 使用 bnd 工具生成 MANIFEST 文件

我只知道这个工具(bnd 工具)的存在,它似乎完美地解决了我在开发的 OSGI 应用程序中遇到的问题。我一直在阅读一些关于它的文档,但我必须做点什么错误的。

我在上述应用程序中遇到问题,在我无法激活的捆绑包上(OSGI 捆绑包无法启动),并按照我之前帖子中其他用户的建议,我决定尝试使用 bnd 工具来解决它。在我的项目文件夹中,我创建了一个新的运行描述符(新建 > 运行描述符),在将其命名为“运行”后,我选择了带有 Gogo Shell 的 Apache Felix 4,然后单击完成。

现在,当我打开 run.bndrun 文件时,我收到以下 2 条错误消息:

存储库列表:无法加载 OSGI 存储库。找不到工作区:/home/user/proj/sm/workspace OSGI 框架:无法加载 OSGI 框架列表。从以下位置找不到工作区:/home/user/proj/sm/workspace

该文件的内容如下:

我该如何解决这两个错误?我可以按照我想要的方式使用 bnd 工具吗?

0 投票
2 回答
3758 浏览

osgi - OSGi two dependency chains - cannot resolve dependencies

We're using OSGi for a rest application using bdntools and eclipse. We've deployed the application and everything is working OK.
The run descriptor we were using was OK, but we've copied the run requirements to a new run descriptor and now we are unable to resolve the dependencies, caused by the following error:

We're having this problem more often, usually it is solved by creating a new run descriptor, but not this time..

Is this a bug in bndtools or are we doing something wrong? We also have the impression it might have something to do with multiple repositories.

Edit: Here is the run descriptor and are the manifests of the bundles.

Run descriptor:

Manifest org.apache.felix.http.jetty:

Manifest org.amdatu.multitenant.org.apache.felix.http.jetty:

Whiteboard manifest:

0 投票
1 回答
1594 浏览

java - Apache Felix Web 控制台 404

我正在使用 JavaSE 1.6 在 Windows 7 下的 Eclipse Kepler 中运行 BND 工具,并且我正在尝试使用 Web 控制台启动 Apache Felix 框架 4.4.0。我很困惑,因为在 Ubuntu 14.04 下似乎确实可以使用相同的方法。我没看到什么?

除了普通的捆绑包之外,我还在为 Jetty 网络服务器和 felix webconsole 捆绑包运行捆绑包。现在,当我尝试访问时,http://localhost:8080/system/console我从码头得到了 404。现在这确实告诉我码头工作正常,但网络控制台不知何故不能正常工作。

我试图重新添加捆绑包,重新启动 eclipse,重新启动我的电脑,但都没有效果。一个最小的例子确实可以在另一台运行 Ubuntu 的机器上运行,我过去也可以运行它。

现在我确实发现有一个属性“manager.root”,我可以通过它自己设置webconsole的位置,但我没有改变它(即使我做了,它似乎也没有效果)。是否有从控制台获取位置的命令?

我只运行以下 4 个捆绑包:

  • org.apache.felix.gogo.shell
  • org.apache.felix.gogo.command
  • org.apache.felix.http.jetty
  • org.apache.felix.webconsole

活动包:

0 投票
0 回答
245 浏览

maven - 本机共享库依赖

我如何将本机共享库和捆绑包作为 OSGI 服务。我正在使用 bndtools,我对 pom.xml 中需要提供的信息感到非常困惑,这些信息最终被翻译为清单文件中的元信息。

我需要通过 JNA 使用 C 共享库。我尝试在我的 pom.xml 中使用以下代码段:

0 投票
1 回答
574 浏览

java - 如何使 MongoDB 服务可用?

我正在开发 OSGi Mongodb 包我还添加了以下依赖项

  1. com.mongodb
  2. org.apache.felix.fileinstal
  3. org.amdatu.mongo
  4. org.apache.felix.configadmin

和所有依赖管理器,但在 gogo 控制台中,我收到以下错误消息

主要问题是MongoDBService不可用我必须需要这个服务来解决这个问题我已经按照他们阅读了这本书

从开发的角度来看,一切似乎都很好,但是当你运行应用程序时,它会抱怨 MongoDBService 不可用。您可以使用 shell 中的 dm 命令解决此问题。然而,我们确实在我们的系统上设置了 MongoDB,并在我们的运行时部署了必要的依赖项。尽管如此,MongoDBService 还是无法启动。怎么来的?这是因为 MongoDBService 需要一些强制配置才能知道要连接到哪个数据库。Amdatu MongoDB 服务使用托管服务工厂模式(参见第 4 章),为了引导它,我们需要提供一个配置文件。为了提供配置文件,我们需要在我们的议程项目中创建一个新文件夹。创建一个名为 load 的新文件夹。这是运行时为了发现配置文件而查找的默认名称。接下来,添加一个空文本文件并将其命名为 org.amdatu.mongo-demo.xml。配置文件至少需要以下信息:dbName=demo

我也应用了这个,但它仍然不可用。

这是界面:

这是MongoDB的实现:

在这里,我只是想获取数据库名称,因为在那之后可以完成所有事情,但是我返回 NULL,因为MongoDBService它不可用。

在这Activator上课

接口包是导出包,实现包是私有的。

0 投票
0 回答
102 浏览

java - Eclipse Bndtools 中 OSGi 包的 iPOJO 操作

我想在 Eclispe 中使用 iPOJO 注释进行组件声明,并在构建期间执行 iPOJO 操作以在捆绑清单中包含“iPOJO-Components”标头。

谷歌搜索后,我对“bnd-ipojo-plugin”有了一些了解。不知道这样能不能解决问题。

我想知道 :

1)这是否可以解决我的问题。
2)如果可以解决问题,如何将这个'bnd-ipojo-plugin'添加到'cnf'目录。

请帮忙解决问题