Eine Library in Eclipse zur Verfügung stellen

G

Gonzo17

Gast
Servus,

mein Ziel ist es ein Plugin zu schreiben, das mir ermöglicht, dass ich eine eigene Library in Eclipse zur Verfügung stellen kann. Ich möchte in einem Projekt keine .jar-Datei einbinden, da ich die dann mit ins SVN hauen müsste, sondern einfach als Library, wie es auch beim JRE selbst, den Plug-in Dependencies, JUnit oder Maven ist.

Um mal zu verdeutlichen was ich meine. Mit einem Rechtsklick auf Properties bei einem Projekt gelangt man auf den Dialog zum Editieren des Projekts. Dort dann Java Build Path > Libraries > Add Library... und genau dort möchte XYZ Library auswählen können, die ich durch die Installation meines Plugins in dieser Eclipse-Umgebung zur Verfügung stelle.

Klar, was ich meine? Muss ja irgendwie gehen. Wie gesagt, JUnit und Maven machen das ja auch. Finde nur keinen gescheiten Ansatz. Habe bereits nach Extension Points geschaut, aber nichts wirklich brauchbares gefunden. Ne Google-Suche gestaltet sich da schwierig, weil man bei den Stichworten "Eclipse", "Library", "Plugin" und so weiter eben ganz andere Ergebnisse bekommt. Jemand ne Idee?
 
G

Gonzo17

Gast
Keiner eine Idee? Oder zumindest den Ansatz einer Idee? Wenn ich wüsste, wo ich es in der Eclipse-Doku finden könnte, wäre mir schon sehr geholfen, aber bisher hab ich da rein garnichts gefunden...
 

Robokopp

Bekanntes Mitglied
Also es zwingt dich erstmal keiner, die lib mit ins Projekt zu legen.

Du kannst beispielsweise ein Projekt libraries anlegen und da alle libs reinpacken.

Außerdem kannst du User libraries anlegen, die du dann über den build path auswählen kannst ohne jedes mal die jar Datei zu suchen.

Ich hoffe das war es was du mit deiner frage gemeint hast
 
M

maki

Gast
Was Gonzo17 wohl meinte war, wie man ein Eclipse Feature schreibt welches einem die Jars ins Projekt einbinden kann, wo wie das auch mit GWT/JEE/JSF/etc. pp. gemacht wird.
 
S

Spacerat

Gast
Da gibt es doch auch die Option UserLibrarys zu definieren und einzubinden. Genügt das nicht? Diese UserLibs sind auch nicht blos Projektspezifisch, sondern man kann sie (natürlich, nachdem man sie definiert hat) in jedem anderen Projekt einbinden. Ich nutze diese Option z.B. für Java3D, JOGL, LWJGL und meine eigenen Libs. Ich denke mal nicht, dass einer von den Entwicklern dieser APIs erwarten würde, dass gerade seine Lib einen gesonderten Platz (wie z.B. 'ne JRE) in Eclipse bekommt, warum auch.
 
G

Gonzo17

Gast
Was Gonzo17 wohl meinte war, wie man ein Eclipse Feature schreibt welches einem die Jars ins Projekt einbinden kann, wo wie das auch mit GWT/JEE/JSF/etc. pp. gemacht wird.

Ja, das war mein Gedanke.

Ich füge mal Screenshots hinzu, um es zu verdeutlichen.

Oder wird das letztlich über die Perspektive auch beeinflusst bzw über den View?

Der Hintergrund ist, dass wir eine Schnittstelle haben, mit der man Bausteine für unsere Software bauen kann, also ähnlich wie zB das Plugin-Development bei Eclipse. Jetzt möchten wir ein Eclipse Plugin zur Verfügung stellen, mit dem man solche Bausteine programmieren kann, ohne dass weitere Abhängigkeiten oder Einstellungen notwendig wären. Dazu möchte ich dann eine entsprechende "Project nature" erstellen, damit man Projekte von genau "unserem" Typ erstellen kann. Die entsprechenden .jar-Dateien würde ich natürlich im Plugin mit ausliefern, aber die Frage ist, wie man sie im Projekt direkt verfügbar machen kann. Wie gesagt, viele Plugins können das ja, aber ich hab keinen Anhaltspunkt, bei dem ich ansetzen könnte.
 

Anhänge

  • 2013-01-18_12h56_58.png
    2013-01-18_12h56_58.png
    9,8 KB · Aufrufe: 43
  • 2013-01-18_12h58_55.png
    2013-01-18_12h58_55.png
    5,6 KB · Aufrufe: 28
  • 2013-01-18_13h01_51.png
    2013-01-18_13h01_51.png
    7 KB · Aufrufe: 31
S

Spacerat

Gast
Und genau das geht mit oben besagter Option.
BuildPath->Add Library->User Library
(User Librarys) klicken, das Gewünschte zusammenstellen und fertig. Obwohl "Referenced Librarys" bekommt man, wenn man (external) Jars added.
 
M

maki

Gast
UserLibrary hat rein gar nix mit Gonzos Frage zu tun ;)

Er will ein Eclipse Feature, welches Jars mitbringt und zur Auswahl stellt.

Hoffentlich kommt Wildcard nochmal vorbei..
 
S

Spacerat

Gast
Was sucht er denn dann? Eclipse-PIs definieren ihre Libs afaik über die plugin-xml (extension point="ClassPathContainerXXX"). Dazu braucht's doch aber kein extra Plugin.
 
G

Gonzo17

Gast
Und genau das geht mit oben besagter Option.
BuildPath->Add Library->User Library
(User Librarys) klicken, das Gewünschte zusammenstellen und fertig. Obwohl "Referenced Librarys" bekommt man, wenn man (external) Jars added.

Hm, ne. Genau das will ich ja nicht. Ich möchte doch, dass derjenige, der mein Plugin installiert, nicht noch extra eine User-Library anlegen muss. Das wäre ja absurd. Musst du doch auch nicht, wenn du eben eines der vielgenannten Tools in Eclipse installierst. Das wollte ich mit meinen Screenshots zeigen.

Was sucht er denn dann? Eclipse-PIs definieren ihre Libs afaik über die plugin-xml (extension point="ClassPathContainerXXX"). Dazu braucht's doch aber kein extra Plugin.

Ehm, das widerspricht sich ein wenig. Ich nehme ja stark an, dass das über irgendeinen Extension Point läuft, aber wie soll ich es bitte ausliefern, wenn nicht in einem Plugin? Und das Plugin existiert ohnehin, weil dort zB noch ein Editor mitgeliefert wird, aber ich möchte eben zusätzlich, dass direkt unsere Abhängigkeiten im Plugin mitgeliefert werden und der Entwickler die nicht ständig selbst ins Projekt einbinden muss.

Wie gesagt, es MUSS ja irgendwie gehen, schließlich machen es ja einige Plugins von verschiedenen Anbietern. Die Frage ist nur wie. Hab eben nach ner halben Stunde Recherche nix brauchbares gefunden und hatte nicht die Muse alle möglichen Extension Points mal zu testen, deswegen frage ich hier.
 

KSG9|sebastian

Top Contributor
Dann erweitere doch das Plugin im eine eigene Nature und sobald die Nature auf einem Projekt installiert wird setzt du den Buildpath entsprechend. Die lib kannst du in deinem Pluginprojekt ablegen, den Pfad darauf findest du über die Eclipse-API raus und dann musst du noch den Classpath setzen, was bei einem JavaProject kein großes Problem darstellt (siehe API-Doc). Anders machen es die anderen Plugins auch nicht. Die Jars liegen im plugins/features-Ordner und letztendlich wird entweder eine UserLibrary erzeugt und die JARs da reingepackt, die UserLibrary wird dann programmatisch als Abhänigkeit eingetragen, oder es werden die Libraries direkt zum Projekt hinzugefügt, als External Jar. Ich persönlich bin für den Ansatz mit der UserLibrary.

1. Programmatisch eine UserLibrary erstellen
2. Deine ausgelieferten JARs dort reinpacken
3. Beim installieren einer Nature für ein Projekt die UserLibrary als Abhängigkeit eintragen (programmatisch)
 
G

Gonzo17

Gast
Hm ja das kommt dem, was ich suche, auf jeden Fall schon sehr nahe. :) Lieber wärs mir aber, wenn ich das komplett über Extension Points konfigurieren könnte. Mit der Project Nature geht das ja. Und ja, mal schauen, ob ich den Rest tatsächlich programmatisch machen muss, vielleicht klappts auch so. :)
 
S

Spacerat

Gast
Ehm, das widerspricht sich ein wenig. Ich nehme ja stark an, dass das über irgendeinen Extension Point läuft, aber wie soll ich es bitte ausliefern, wenn nicht in einem Plugin? Und das Plugin existiert ohnehin, weil dort zB noch ein Editor mitgeliefert wird, aber ich möchte eben zusätzlich, dass direkt unsere Abhängigkeiten im Plugin mitgeliefert werden und der Entwickler die nicht ständig selbst ins Projekt einbinden muss.

Wie gesagt, es MUSS ja irgendwie gehen, schließlich machen es ja einige Plugins von verschiedenen Anbietern. Die Frage ist nur wie. Hab eben nach ner halben Stunde Recherche nix brauchbares gefunden und hatte nicht die Muse alle möglichen Extension Points mal zu testen, deswegen frage ich hier.
Äehmm, Natürlich widerspricht sich meine Aussage ;). Aber dein Ziel war es, ein Plugin zu entwickeln, mit welchem man Librarys in Eclipse zur Verfügung stellen kann. Der Witz ist doch, dass dieses "zur Verfügung stellen" von jedem Plugin selbst veranlasst (KSG9 hat bereits gesagt wie's geht) wird und man deswegen kein extra Plugin dafür benötigt. Hab' ich irgend etwas falsch verstanden?
 
G

Gonzo17

Gast
Äehmm, Natürlich widerspricht sich meine Aussage ;). Aber dein Ziel war es, ein Plugin zu entwickeln, mit welchem man Librarys in Eclipse zur Verfügung stellen kann. Der Witz ist doch, dass dieses "zur Verfügung stellen" von jedem Plugin selbst veranlasst (KSG9 hat bereits gesagt wie's geht) wird und man deswegen kein extra Plugin dafür benötigt. Hab' ich irgend etwas falsch verstanden?

Ja, hast du anscheinend. :) Denn ich entwickle ein Plugin mit Project Nature, mitgeliefertem Editor usw und wollte eben außerdem noch die Abhängigkeiten mitliefern. Also bin und bleibe ich natürlich bei einem Plugin. Und diese Abhängigkeiten können logischerweise auch nicht irgendwo anders herkommen, weil das tatsächlich jars sind, die ich selbst produziere, beinhaltet eben meine Programmierschnittstelle/API.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Aus einem PDF-Formular heraus eine Android App Outlook starten Plattformprogrammierung 3
Bregedur Suche eine Möglichkeit alle Dateien eines Verzeichnisses in eine Java-Applet zu übernehmen Plattformprogrammierung 1
maestr0 Prüfen ob eine Datei im Projektordner existiert Plattformprogrammierung 9
B Footer bei den Birt-Reports für nur eine Seite anzeigen Plattformprogrammierung 4
L RCP RCP als eine Exe-Datei exportieren? Plattformprogrammierung 2
N Was brauche ich für eine Web- und was für eine Fat-Client-Anwendung? Plattformprogrammierung 14
M Unter welchem Benutzer läuft eine RCP-Anwendung? (Windows-Berechtigungsproblem) Plattformprogrammierung 7
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
L RCP Help in eine View einbinden? Plattformprogrammierung 3
B mit eclipse eine PDF erstellen Plattformprogrammierung 1
lumo ECLIPSE RCP - mehrere plugins - eine resource? Plattformprogrammierung 3
N Ant Skript um eine UPdateseite zu bauen Plattformprogrammierung 3
T Wie erzeuge ich eine PropertyPage Plattformprogrammierung 2
minzel Auf eine Instanz zugreifen Plattformprogrammierung 2
N Noch eine Frage zu GEF Plattformprogrammierung 5
R SWT: nur eine Instanz einer View erlauben Plattformprogrammierung 5
D JNA Referenz zu einem Array übergeben in c++ Library(dll) Plattformprogrammierung 3
G RCP Charts library Plattformprogrammierung 2
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
R Eclipse Bundles Plattformprogrammierung 2
Robertop RCP Command in bereits bestehendes Eclipse-Menü einbauen Plattformprogrammierung 4
T Java Projekt läuft nur in Eclipse Plattformprogrammierung 6
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
D RCP P2-Repository für Eclipse-Plugins Plattformprogrammierung 0
M Debuging in Eclipse Annotations Processor Plattformprogrammierung 0
D Nach Sprachpaket Installation kann eclipse nicht mehr gestartet werden Plattformprogrammierung 4
L0MiN Wie kann ich ein Klassendiagramm aus Eclipse heraus erstellen? Plattformprogrammierung 5
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
feinperligekohlensaeure Eclipse Workspace gemeinsam Nutzen -> keine .project Datei Plattformprogrammierung 1
F Eclipse Build Path auf benötigte Projekte Plattformprogrammierung 4
B Daten von Eclipse extern sichern Plattformprogrammierung 2
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
VfL_Freak [Eclipse] Fehleranzeige im Reiter "Problems" Plattformprogrammierung 1
S Errors in workspace bei eclipse Plattformprogrammierung 3
T eclipse bietet keine META-INF an Plattformprogrammierung 1
N Eclipse wo starten Plattformprogrammierung 6
A Eclipse schließt einfach ohne Fehlermeldung Plattformprogrammierung 4
W Eclipse vergißt beim Exportieren Resources-Ordner Plattformprogrammierung 11
A RCP Eclipse e4 und Injection-Contexts Plattformprogrammierung 0
K Eclipse fährt nicht mehr hoch. Metadatendatei schuld? Plattformprogrammierung 7
C [Eclipse RCP E4]InjectionException: no actual value was found for the argument "MDirtyable" Plattformprogrammierung 8
T Eclipse Eigenschaften hinzufügen Plattformprogrammierung 2
M RCP [Eclipse RCP 3.4] ViewTab Kontextmenu "Alle schließen" Plattformprogrammierung 0
D Problem mit eclipse Plattformprogrammierung 2
S Verschieben des Verzeichnis .eclipse aus Userprofile Plattformprogrammierung 3
A RCP Kann kein Eclipse 4 Projekt anlegen Plattformprogrammierung 0
S RCP Exportiertes RCP Produkt lädt Datei nicht, bei Start aus Eclipse wird Datei jedoch gefunden Plattformprogrammierung 6
Gregorrr Eclipse RCP Product Build-Nummer + Jenkins Plattformprogrammierung 6
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
H OSGi OSGi + Logback + slf4j - Eclipse Run Configuration Plattformprogrammierung 7
C plugin development environment eclipse Plattformprogrammierung 4
R RCP Commands nutzen / org.eclipse.ui.file.save Plattformprogrammierung 7
O Installiere externe Methode "containsNone" in Eclipse Plattformprogrammierung 2
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
B Eclipse Probleme mit build Plattformprogrammierung 8
H Keine Hilfe/API mehr in Eclipse Juno? Plattformprogrammierung 4
B Neue SuppressWarning in Eclipse Juno Plattformprogrammierung 6
B Eclipse Property Page Plattformprogrammierung 6
B Eclipse PreferencePage Plattformprogrammierung 3
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
B Birt-Previewer über Eclipse Plattformprogrammierung 14
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
R Eclipse RCP Tabellen-View (Anfängerfrage) Plattformprogrammierung 3
C Eclipse: Notification beim umbennen von Methoden? Plattformprogrammierung 4
schalentier Eclipse Sourcecode Plattformprogrammierung 4
A Eclipse undo/redo button reagiert nicht auf Änderungen in der OperationHistory Plattformprogrammierung 5
P Eclipse M2_REPO (NON MODIFIABLE) Plattformprogrammierung 8
B Eclipse: Contextmenu id erhalten? Plattformprogrammierung 9
H Datei in eclipse wird nicht erkannt Plattformprogrammierung 3
O Neues Tastenkürzel für Eclipse Editorfenster registrieren Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
Madlip RCP eclipse.ui.bindings (Key-Problematik) Plattformprogrammierung 2
S Eclipse vs. JavaMail vs. Ubuntu vs. Windows Plattformprogrammierung 3
M eclipse führt applikationen nicht mehr aus Plattformprogrammierung 6
S Eclipse: Auf CTRL-C/CTRL-V im Package Explorer? Plattformprogrammierung 4
M Eclipse und Hilfen Plattformprogrammierung 5
G Eclipse buggt rum!!! Plattformprogrammierung 4
B Eclipse RCP und Java 7 Plattformprogrammierung 7
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
M RCP [Eclipse RCP] Feature Export und "Fehler"... Plattformprogrammierung 3
P Eclipse speichert keine Änderungen Plattformprogrammierung 5
M Eclipse - Dokumentation nicht über das Internet benutzen Plattformprogrammierung 3
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
E org.eclipse.ui.dialogs.ListSelectionDialog erzeugt ClassNotFoundException zur Laufzeit Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C RCP Verständnisfrage Eclipse/Equinox Plattformprogrammierung 4
D eclipse-RCP von der Konsole baut nicht Plattformprogrammierung 3
L RCP Eclipse Popupmenu im PackageExplorer erweitern? Plattformprogrammierung 7
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
S (OSGI - EQUINOX) Welche Eclipse IDE? Plattformprogrammierung 3
C Pdf in jar datei einbinden mit eclipse Plattformprogrammierung 23
G neuer branch in SVN mit Eclipse Plattformprogrammierung 6
F RCP eclipse rcp ohne eclipse? Plattformprogrammierung 15
dzim RCP Eclipse Provisioning Plattformprogrammierung 3
G RCP Abhängigkeiten von Eclipse Plugins Plattformprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben