Hallo zusammen, beim exportieren eines eclipse-PlugIn-Projekts bekomme ich eine .log-Datei mit (unter anderem) folgenden Fehlermeldungen: "Der Import org.apache kann nicht aufgelöst werden" "ObjectUtils kann nicht aufgelöst werden" (ist in org.apache.commonx-lang3 enthalten) In eclipse bekomme ich keinen Fehler angezeigt, die entsprachende jar-Datei (commons-lang3-3.1.jar) befindet sich im Projektordner und ist auch in den Plug-in-Abhängikeiten aufgeführt. Wie bekomme ich es denn nun hin, dass das PlugIn erfolgreich exportiert wird?
Wenn ich den Quellcode der jar-Dateien in das Projekt packe kommt der Fehler nicht, aber das kann doch nicht im Sinne des Erfinders sein.
Kollege schrieb: >>> org.apache.commonx-lang > > Ist das OSGi-fiziert? Was meinst du mit OSGi-fiziert?
Robert B. schrieb: > Kollege schrieb: >>>> org.apache.commonx-lang >> >> Ist das OSGi-fiziert? > > Was meinst du mit OSGi-fiziert? Handelt es sich dabei um ein OSGi Bundle? Du brauchst OSGI Bundles wenn du Eclipse Plugins schreiben möchtest, "normale" Jars reichen nicht. Eclipse Orbit hat ein paar OSGi-fizierte Jars: http://download.eclipse.org/tools/orbit/downloads/ Das Spring Enterprise Repository auch: http://ebr.springsource.com/repository/app/ Kannst dir auch selbst welche erstellen: http://www.vogella.com/tutorials/EclipseJarToPlugin/article.html Musst halt darauf achten, das die Abhängigkeiten "passen, d.h. diese müssen auch OSGi Bundles sein, ind er passenden Version. Ansonsten ist http://www.vogella.com/ ein guter Einstieg in die Grundlagen.
Robert B. schrieb: > beim exportieren eines eclipse-PlugIn-Projekts bekomme ich eine > .log-Datei mit (unter anderem) Immer ganz oben anfangen, wie beim Compilieren... Robert B. schrieb: > im Projektordner Wie wo liegt die genau? Sowas gehört nicht in das Projekt sondern in die Targeplattform. Robert B. schrieb: > beim exportieren Versuch mal die Option "Use classes compiled in the workspcae", der Eclipse eigene Exporter ist manchmal etwas supotimal.
@Kollege: Danke für die Links! Läubi .. schrieb: > Immer ganz oben anfangen, wie beim Compilieren... Das sind die ersten Beiden Fehler in der .log-Datein ;) Läubi .. schrieb: > Wie wo liegt die genau? Im Projektordner, wo auch die Projekt- und Classpath-Datei liegt.
Ich habe jetzt aus den benötigten jar-Dateien ein Bundle erstellt, die entsprechenden Pakete exportiert und in meinem Projekt importiert. Vielen Dank für die Hilfe!
Robert B. schrieb: > Im Projektordner, wo auch die Projekt- und Classpath-Datei liegt Irgendwie ist dein Setup merkwürdig... Hast du überhaupt eine eigene Targeplatform definiert? Die Apache commons Sachen sind idr. schon eigenständige Bundles.
Läubi .. schrieb: > Hast du überhaupt eine eigene > Targeplatform definiert? Nein, in den von mir bearbeiteten Tutorials und Büchern stand davon auch nichts. Also keine EIGENE Zielplattform! Hab gelesen, dass man optimaler Weise bei der Erstellung des Plug-In-Projekts als Targetplatform "an OSGi framework" und dort standard auswählt. Damit soll es insgesamt portabler sein.
Robert B. schrieb: > Hab gelesen, dass man optimaler Weise bei der Erstellung des > Plug-In-Projekts als Targetplatform "an OSGi framework" und dort > standard auswählt Das ist auch korrekt. Trotzdem kannst du dir ein eigenes Target definiere, das hängt aber davon ab was du vor hast! Willst du OSGi Bundles entwickeln? Oder Eclipse Plugins für die IDE?
Läubi .. schrieb: > Willst du OSGi > Bundles entwickeln? Oder Eclipse Plugins für die IDE? OSGi Bundles
Okay, dann vermutlich mit Equinox als OSGi Framework, dann würdest du folgendermaßen vorgehen: - Neues (standard) Projekt (z.B. my.company.project.target) anlegen - einen Ordner equinox - einen (oder später mehr) Ordner lib - eine neue Targetplattform In den Ordner equinox legst du dann die gewünschte Equinox SDK (z.B. http://download.eclipse.org/equinox/drops/R-KeplerSR2-201402211700/index.php 'All of Equinox') In den Ordner lib legst du "externe" Bundles rein (vorher einmal prüfen das diese ein passendes OSGi-Manifest haben) wie z.B. die Apache Commons Dann diese beiden Ordner in der Targetplatform hinzufügen, er zeigt dir dann an wieviele Plugins gefunden wurde. Als letztes noch "Set as Targetplattform", wenn du etwas änderst ist der Schritt zu wiederholen. Auf diese Weise entwickelst du gegen ein definiertes Target und musst nicht alle Bundles die du von extern beziehst noch selbst in deinem Eclipse Workspace vorhalten. Ansonsten entwickelst du nämlich gegen dein aktuelles Eclipse als Target und müsstest alle externen Libs in dein Eclipse installieren, was meist unvorteilhaft ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.