当前位置: 首页 > 知识库问答 >
问题:

OSGi:在EclipseEquinox中包括额外的系统包

姬朗
2023-03-14

在ApacheFelixOSGi框架中,配置文件提供了在Felix生态系统中包含其他系统包的选项。Felix配置中的行如下所示:

# To append packages to the default set of exported system packages,
# set this value.
org.osgi.framework.system.packages.extra=gnu.java.net.local

我将当前的OSGi框架从Felix切换到EclipseEquinox,我发现我的一个捆绑包依赖于gnu。JAVA网我以前在Felix中访问过的本地包,但在Equinox的(模糊的)配置文档中找不到任何与Felix中的设置等效的东西。有人知道Equinox的方式包括这个额外的包吗?

如果您正在查看我在上面共享的链接(到Equinox配置文档),“系统属性”部分是列出配置文件选项的部分。我不确定其他地方是否有更完整的文档。

共有1个答案

席宜修
2023-03-14

您提到的属性在每个OSGi容器中都可用。它列在OSGi核心规范中。见第4.2章。2.发射性能。

您可以在Equinox的配置文件中定义它,或者将其定义为系统属性,例如:

java -jar equinox.jar -Dorg.osgi.framework.system.packages.extra=gnu.java.net.local
 类似资料:
  • 我是OSGi的新手。我正在Android上运行ApacheFelix。我已将系统包导出的系统包设置如下: 但是,当我尝试安装ConfigAdmin捆绑包时,它会给出一个BundleException: 当我导出组织时,为什么它缺少这个要求。奥斯基。版本1.6的系统包中的框架包。0? 我已通过以下操作检查系统属性设置是否正确: 也许这是我的一个简单错误。有人能帮我吗? 谢谢!

  • 我如何实现这一点?我尝试将OSGi捆绑包作为JarInputstream读取,并读取捆绑激活器完全限定的类路径,并尝试使用class.forName(“”)和转换到BundleActivator接口的类型来实例化它。但是在启动它的同时,它将bundle上下文作为参数来启动方法。 有没有办法,我可以把OSGi包实用地交给容器,这样它就会负责安装和启动包,然后我的UI就会自动在显示中获取这个新的包名。

  • 我下面有DockerFile“ 得到的Docker映像封装了Java程序。当我将这个Docker映像部署到Windows Server或Linux时,映像是否总是包括运行在主机OS(Windows Server或Linux)之上的操作系统(如Linux)? 我问这个问题的意义是Docker映像是包含其他盒子的物理盒子(其中一个是openjdk),这个盒子是否也包含Linux OS盒子,我可以从中取

  • 我使用EclipseIndigo使用OSGiJava框架开发了一些包。有一个主捆绑包,它依赖于其他捆绑包,并且具有要运行的主程序。如果我尝试在Eclipse中运行所有捆绑包,一切都正常工作,但是如果我将每个捆绑包保存为一个JAR,并在命令行中启动OSGi框架,当我尝试启动主捆绑包时,会出现异常<code>NoClassDefFoundError。找不到的类是依赖项。包的其余部分处于活动状态,主包刚

  • 问题内容: 我有一个简单的SQLite表,称为“消息”: 我想获取每种类型的最后一条消息的内容(由其顺序确定)。令我惊讶的是,以下简单查询有效: 令人惊讶,因为我知道MSSQL或Postgres会拒绝在SELECT列表中包括不属于GROUP BY子句或聚合函数一部分的列,因此我必须进行联接,如下所示: 我的问题是:在SQLite中使用第一种更简单的查询形式是否安全?从直觉上讲,它选择的是与“ MA

  • 我正在开发一个webapp,我在servlet上下文监听器中启动osgi框架(Eclipse Equinox版本3.10.0)。Webapp在Tomcat 8和Java7中运行。我已经开发并安装了2个简单的包,只要它们使用它们的内部类就可以正常工作。但是当我尝试将webapp包导入到system.package.extra配置的bundles中时,bundles无法解析这些包: 框架这样声明额外的