本文介绍了尝试运行OSGi调试目标时,支持“不支持平台”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从IntelliJ Idea运行一个小型的OSGi项目。我在Idea的OSGi配置部分添加了Equinox容器。然后我将OSGi方面添加到项目中。到目前为止,一切看起来还不错。

I'm trying to run a tiny OSGi project from IntelliJ Idea. I've added the Equinox container in the OSGi configuration section in Idea. Then I added the OSGi facet to the project. Everything looks ok to this point.

然而,一旦我尝试运行该项目,我就遇到了麻烦。我使用IntelliJ Idea的'OSGi Bundles'跑步者。在那里,我选择我的项目包和OSGi容器并运行它。这个问题开始了。我总是出现同样的错误信息:

However as soon as I try to run the project I get into trouble. I use the 'OSGi Bundles' runner from IntelliJ Idea. There I select my project bundles and the OSGi container and run it. Here the issue starts. I always the the same error message:

             ___
            /  /
           /  / Oops, there has been a problem!
          /  /
         /__/   Platform [platform.felix 3.0.6] is not supported
        ___
       /__/

     -> Exception caught during execution:
    org.ops4j.pax.runner.ConfigurationException: Platform [platform.felix 3.0.6] is not supported
        at org.ops4j.pax.runner.Run.installPlatform(Run.java:611)
        at org.ops4j.pax.runner.Run.start(Run.java:221)
        at org.ops4j.pax.runner.Run.main(Run.java:148)
        at org.ops4j.pax.runner.Run.main(Run.java:121)



I tried to use other OSGi containers, like Felix or Knopflerfish and have the same issue. Does anyone know what I'm doing wrong. Or which versions of OSGi containers are supported by IntelliJ?

推荐答案

Osmorc(IntelliJ OSGi插件)与平台设置pax runner上下文您在IDE的OSGi设置中提供的名称和版本(IDE设置 - > OSGi - >框架定义)。

Osmorc (IntelliJ OSGi plugin) sets up pax runner context with the platform name and version you provide in OSGi settings of the IDE (IDE Settings -> OSGi -> Framework Definitions).

名称是platform。+您提供的名称,版本是逐字的。
列出了不同平台的受支持版本。但是,该列表并不是最新的。

The name is "platform."+the name you provided, and the version is verbatim.The supported versions for different platforms are listed here. The list is not up-to-date, though.

您可以通过查看转轮jar来查看实际版本。转到你的idea_home / plugins / osmorc / lib,打开pax-runner -... jar。 META-INF目录包含每个平台的子目录,其中包含definition- $ VERSION.xml。

You can check the actual versions by looking inside the runner jar. Go to your idea_home/plugins/osmorc/lib, open pax-runner-...jar. META-INF directory contains sub-directory for each platform with definition-$VERSION.xml.

对于您的示例,您可以看到不支持Felix 3.0.6在pax-runner 1.5.0中。最新支持的版本是3.0.2。

For your example, you can see there is no support for Felix 3.0.6 in pax-runner 1.5.0. The latest supported version is 3.0.2.

这篇关于尝试运行OSGi调试目标时,支持“不支持平台”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-02 00:42