2011-01-03 13 views
5

Ich versuche, ein kleines OSGi-Projekt von IntelliJ Idea auszuführen. Ich habe den Equinox-Container im OSGi-Konfigurationsbereich in Idea hinzugefügt. Dann fügte ich dem Projekt die OSGi-Facette hinzu. Bis zu diesem Punkt sieht alles gut aus.'Plattform wird nicht unterstützt' wird unterstützt, wenn versucht wird, OSGi Debug-Ziel auszuführen

Sobald ich jedoch versuche, das Projekt zu starten, stehe ich in Schwierigkeiten. Ich benutze den 'OSGi Bundles' Runner von IntelliJ Idea. Dort wähle ich meine Projektpakete und den OSGi Container aus und starte ihn. Hier beginnt das Problem. Ich immer die gleiche Fehlermeldung:

   ___ 
      // 
     // 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) 

Ich habe versucht, andere OSGi-Container zu verwenden, wie Felix oder Knopflerfish und das gleiche Problem haben. Weiß jemand, was ich falsch mache? Oder welche Versionen von OSGi-Containern werden von IntelliJ unterstützt?

Antwort

9

Osmorc (IntelliJ OSGi-Plugin) richtet den Pax-Runner-Kontext mit dem Plattformnamen und der Version ein, die Sie in den OSGi-Einstellungen der IDE bereitstellen (IDE-Einstellungen -> OSGi -> Framework-Definitionen).

Der Name ist "Plattform." + Der Name, den Sie angegeben haben, und die Version ist wörtlich. Die unterstützten Versionen für verschiedene Plattformen sind aufgeführt here. Die Liste ist jedoch nicht auf dem neuesten Stand.

Sie können die tatsächlichen Versionen überprüfen, indem Sie in das Läuferglas schauen. Gehe zu deinem idea_home/plugins/osmorc/lib, öffne pax-runner -... jar. META-INF-Verzeichnis enthält Unterverzeichnis für jede Plattform mit definition- $ VERSION.xml.

Für Ihr Beispiel sehen Sie, dass Felix 3.0.6 in Pax-Runner 1.5.0 nicht unterstützt wird. Die neueste unterstützte Version ist 3.0.2.

+2

Danke für den zweiten Hinweis, es half auch. Nur um zu erwähnen, ist Ihr Link tot ... vielleicht [http://team.ops4j.org/wiki/display/paxrunner/5.4.2.+Pax+Runner+-+Platform+-+Felix] ist das neue Eins also muss der Nächste nicht nochmal suchen ... :) Prost – Kjellski

Verwandte Themen