【问题标题】:How to use OSGI Plugin from java console application如何从 Java 控制台应用程序使用 OSGI 插件
【发布时间】:2016-12-09 10:04:48
【问题描述】:

我想在我的 java 应用程序(简单的控制台应用程序)中使用一个 jar(OSGI 平台的插件)。

我尝试以标准方式使用它,包括我的类路径中的所有 jar 和实例化对象,然后调用方法 A, 但同时方法A调用涉及平台的指令:

Platform.getBundle("com.example.resource").getResource("icons/icon.png")

正如预期的那样,它给了我一个空指针异常。

我尝试了不同的解决方案,但没有任何效果(我不是 osgi 世界的专家)。 有一个简单的方法来初始化所有的包和插件,所以我可以调用方法 A?

我尝试使用 -initialize 创建 org.eclipse.equinox.launcher.Main 实例调用运行,然后调用方法 A 但不起作用。

【问题讨论】:

    标签: java plugins jar osgi equinox


    【解决方案1】:

    平台并非来自 OSGi 规范。它是 Eclipse 特定的。所以我认为这只有在捆绑包是用 Eclipse 启动器启动时才有效。

    您似乎已经这样做了。问题是如何从您的控制台应用程序中引用捆绑包。要使其正常工作,请参阅堆栈溢出中有关 how to call and OSGi service from non OSGi code 的问题。

    【讨论】:

      猜你喜欢
      • 2013-02-11
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 2012-12-13
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      相关资源
      最近更新 更多