问题标签 [osgi-bundle]
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 - FrameworkUtil.getBundle 总是返回 NULL
我正在尝试使用 OSGi 框架安装包。下面是我的代码,它试图获取bundleContext
.
在下面的代码中,每次此行FrameworkUtil.getBundle
返回 me null
。
以下是我的应用程序代码-
当我调试代码时,我发现在getBundle method
FrameworkUtil 类中 -
cl is not an instance of BundleReference
这就是为什么它总是返回NULL。当我检查时cl
,我发现了类似的东西-
sun.misc.Launcher$AppClassLoader@69956995
我认为这不是 BundleReference 的一个实例?我需要这个org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader
下面是我的 pom.xml 文件-
我在这里有什么遗漏吗?我想我面临的问题是 OSGi 类加载。因为我认为 - 每个 Bundle 都有自己的 Classloader,即 DefaultClassLoader。但在我的情况下,类加载器是不同的,我不知道如何解决这个问题?
java - 以编程方式启动 OSGi 框架时出现 java.util.NoSuchElementException
我正在尝试从 Java 以编程方式启动 OSGi 框架(最好是 Equinox),然后加载任何捆绑包。
所以我正在阅读这篇文章,其中说明了如何做到这一点。但是我每次都在下面的行中得到java.util.NoSuchElementException
下面是代码-
我不确定我在这里做错了什么?我有一个基于 Maven 的项目。下面是这个项目的 pom.xml 文件-
java - org.osgi.framework.BundleException:捆绑 SampleModel 中未解决的约束
我正在尝试以编程方式启动 OSGi 框架。我为此使用了 Felix 框架。下面是我将启动 OSGi 容器的代码。
在上面的代码中,我试图安装并启动我创建的一个简单的 OSGi 模块(SampleModel jar)。一旦我尝试启动该模块,我总是会得到以下异常 -
下面是我的 SampleModel pom.xml 文件-
java - 将我的 Bundle-A jar 文件安装到 OSGi 容器后如何调用其中一种方法
我最近开始研究 OSGi 框架。我有一个名为 Bundle-A 的捆绑包。我想从我的主应用程序中调用 Bundle-A jar 中的一种方法。
我已经从我的主应用程序加载并安装了 Bundle-A。下面是我安装 Bundle-A 的主要应用程序的代码。
现在 Bundle-A 已经启动。下面是我的 Bundle-A 激活器类。
下面是我在 Bundle-A jar 中的类。processingEvents
Bundle-A 启动后,我需要从上面的主应用程序代码中调用方法。
我不确定正确的方法是什么?我知道一种方法是在我的主应用程序 pom.xml 文件中添加这个 Bundle-A 的依赖项,因为我正在使用基于 maven 的项目。但我不认为这是正确的做法。因为最终,我将有更多的捆绑包,所以应该有一些其他的方法来解决这个问题,我不知道。
我应该在这里使用 ServiceListener 或 ServiceTracker 吗?基于我的代码的任何简单示例都将帮助我更好地理解。谢谢。
我希望这个问题足够清楚。我试图在 Bundle-A 加载和安装后调用其中的一种方法。
java - 启动 OSGI 框架时出现 NoSuchElementException
我已经创建了基于 Maven 的项目,在该项目中我试图通过使用下面的代码来启动一个 OSGi 容器(Felix),但每次,它都会给我以下异常 -
下面是我的代码:
一旦我运行上面的代码,我总是得到上面提到的异常-
下面是我的 pom.xml 文件:
谁能告诉我我在这里做错了什么?我知道 ServiceLoader 在类路径中搜索 FrameworkFactory 接口,如果找不到,则会抛出异常。但就我而言,我已经依赖于 felix 框架,所以它应该在我的类路径中。对吗?那我做错了什么?
java - 获取已在 OSGi 中注册的服务时发生 ClassCastException
我最近开始研究 OSGi 框架。以下是我的 TestingBundle jar 中的类。下面是我的那个 Bundle 的 Activator 类。
下面是界面。
下面是实现上述接口的类
下面是我的主要应用程序代码,它将安装上述包,然后调用上述服务-
}
以下是我总是得到的例外 -
我不确定我在这里做错了什么?谁能解释我在这里做错了什么?
android - Apache Felix - 使用捆绑服务显示“java.lang.ClassCastException”
我将 Apache Felix 嵌入到 Android 应用程序中。在该应用程序中,我正在尝试使用捆绑提供的服务。捆绑包已成功安装并启动,但在使用以下服务的行:
我收到以下错误:
我的捆绑包中有以下内容:
1- 活化剂类
2- com.example.android_services 具有AndroidService.java
接口:
3-它的实现类AndroidServiceImpl.java
:
现在,在我的 android 应用程序中,我也有AndroidService.java
界面,以下是使用该服务的代码:
显示“9”后出现错误。我哪里做错了?
以下是我的捆绑清单:
更新:
我意识到我有这行代码:
所以我将其更改为:
现在我收到此错误:
eclipse - org.eclipse.core 对 org.eclipse.runtime 的依赖突然改变了
我们用 maven 编译一个 Adobe CQ 项目(服务、taglib、视图、内容等)。在某个时间点,我们引入了以下依赖项:
这导致了以下依赖关系,例如 org.eclipse.resources (使用 mvn dependency:tree -Dverbose 提取):
然后,从 2013 年 8 月 19 日星期一到 8 月 20 日,org.eclipse:osgi 依赖项突然从 3.3.0-something 更改为 3.8.2-something,没有任何明显的原因(这严重破坏了我们的构建):
我们能够通过显式添加依赖项来解决这个问题:
但是,我们仍然没有任何线索,为什么依赖项发生了变化。有人知道原因或遇到过同样的问题吗?
java - 为什么运行 Java 测试时 BundleContext 为空?
我写了一个测试,我运行一个需要加载 osgi 服务的类。当我开始测试时,我每次都会收到 NullPointerException。运行应用程序时,它工作正常。我的捆绑上下文为空。我该如何解决这个问题?这是应该加载服务的类的行:
指定包类的 Bundle,如果指定的类不是由包类加载器定义的,则为 null。
我在 API 中找到了该解释,FrameworkUtil
但我仍然不知道该怎么做。
osgi-bundle - 我可以在特定时间启动捆绑包而不手动启动它吗
我有一个捆绑包在 servicemix 中运行。我想知道是否有一种方法可以进行一些配置更改并让它在早上 7:30 自动启动。我是 servicemix 的新手。谢谢你的帮助。
谢谢。