2016-04-05 5 views
0

ich benutze eclipse mars 4.5.2 für mac OS X 10.11. Ich erstelle ein einfaches OSGi-Bundle-Projekt und es fehlt osgi.core.jar in seinem Klassenpfad.fehlt OSGi jar in eclipse mars mit liberty profil

kann der Import org.osgi nicht

mac-mars classpath screenshot

aber wenn ich die gleichen Aktionen in Eclipse luna tun aufgelöst werden 4.4.2 auf Windows mit websphere classic - osgi.core.jar ist an seiner Stelle.

windows-luna classpath screenshot

Was ich brauche, zu tun OSGi Abhängigkeit zu lösen?

Auf Mac habe ich die neuesten ibm websphere liberty developer tools für mars und liberty javaee7 8.5.5.9 (18.03.2016), kann es ein Bug sein?

UPD: mein Manifest auf beiden Bundles:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: IgLoginBundle 
Bundle-SymbolicName: IgLoginBundle 
Bundle-Version: 1.0 
Bundle-Activator: activator.Activator 
Import-Package: org.osgi.framework 
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 
Export-Package: activator 

(Ich bin neu auf OSGi und nur versuchen, eine benutzerdefinierte Registry für die Freiheit zu implementieren)

+0

Der Fehler sagen Sie ein 'Import-Versandstück, die' org.osgi' enthält, aber es gibt kein solches Paket gibt es nur Subpackages von 'org.osgi', und Sie müssen explizit listet alle Unterpakete auf (nicht JARs). Wie sieht deine MANIFEST.MF aus? –

+0

@BrettKail hinzugefügt Manifest, der Fehler erscheint in Zeilen: import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; –

+0

Können Sie den Fehler anzeigen? –

Antwort

0

ich die neueste haben ibm websphere liberty developer tools für mars und liberty javaee7 8.5.5.9 (18.03.2016)

Ich denke, das Problem ist die v Freiheit, die du benutzt. Die EE7-Edition enthält nicht die OSGi-Funktion, die Sie standardmäßig benötigen.

Versuchen Sie, das Liberty Profile V8.5.5.9 mit OSGi Application zu installieren. Sie sollten es über die IBM WebSphere Liberty-Entwicklertools für Mars aus der Eclipse-Serveransicht herunterladen können.

enter image description here

+0

OP sagte, sie versuchten, eine benutzerdefinierte Benutzerregistry, keine OSGi-Anwendung zu schreiben. –

+0

Um eine CUR in Liberty zu erstellen, müssen Benutzer ein Bundle und Feature erstellen (https: // developer.ibm.com/wasdev/docs/creating-a-custom-user-registry-as-a-liberty-user-feature/). Und das ist, was OP sagte: "Ich erstelle ein einfaches OSGi-Bundle-Projekt" –

+0

Ja, ein OSGi-Bundle, keine OSGi-Anwendung. Warum sollte OP eine Liberty-Laufzeitumgebung mit OSGi-Anwendungsunterstützung herunterladen müssen, um grundlegende OSGi-Pakete zu erstellen? –

Verwandte Themen