Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Eclipse Tool für Jars - Automatisch Dependencies einbinden
Ich suche ein Tool/Plugin für Eclipse welches es mir ermöglicht, Jars zu erstellen, wo alle Abhängigkeiten hineinextrahiert werden. Der Grund ist folgender: Ich habe eine Library, welche ich gerne als eine einzige Jar ausliefern möchte aber ich habe noch gewisse Abhängigkeiten zu anderen Bibliotheken. Zur Zeit mach ich es ganz unprofessionell von Hand mit 7Zip. Ich möchte ungern direkt auf etwas wie Maven umsteigen. Ich hatte mir auch schon überlegt, einfach die Sources der jeweilgen Lib in meinen Projekt-Sourceordner zu packen. Das klappt auch wunderbar, allderdings halte ich das für unschön und noch unprofessioneller als das "von Hand kopieren". Da musst es doch iwas schönes geben, ich meine das ist ja nichts kompliziertes ansich.
In erster Linie dass es mich Zeit kosten würde, mich in Maven einzuarbeiten... Ich dachte, es gäbe für eine solch triviale Aufgabe vlt ein kleines tool, was das schnell erledigt...
Die Zeit ist es aber wert, und für kleine Maven Projekte, ist Maven nicht schwer einzuarbeiten. Und wenn du es einmal kannst profitierst du immer davon. Vorallem bist du dann auch fürs builden auf keine IDE angewiesen.
Verstehe ich das richtig? Du willst eine Jar mit allen Abhängigkeiten direkt aus Eclipse heraus bauen? Wie wärs mit Rechtsklick auf das Projekt > Export > Java > JAR File?
Oder redest du von einem Eclipse Plugin? Da kann ich Buckminster empfehlen.
Ansonsten Maven, zumal auch Maven so langsam Unterstützung für Eclipse Plugins bietet und Buckminster damit ablösen könnte.
Natürlich kenn ich die Exportfunktion von Eclipse, ich hab mich vlt etwas ungünstig ausgedrückt. Ich würde gerne alle Abhängigkeiten, die meine Library zu anderen hat in die Jar packen, damit jemand der meine Lib benutzt, nicht meine Abhängigkeiten auch noch einbinden muss... Einfach die Jars in meine eigene Jar packen geht ja nicht... Also müsste man ja die .class Dateien der Abhängigkeiten einbinden. Und ich wollte ganz gern etwas haben, damit ich Eclipse sagen kann:
"Schau mal, hier ist meine Abhängigkeit in Jar-Form. Wenn du aus meiner Lib eine Jar erstellst, kopiere doch bitte den Inhalt der Jar von der meine Lib abhängt, in meine Jar hinein."
Also, ist das ein ausführbares Programm? Dann nimm doch den Runnable JAR Export Wizard. Wenn es wirklich eine eigenständige Library ist, dann ist das Bockmist, wenn du Abhängigkeiten direkt selbst mitlieferst. Für sowas ist Maven wie geschaffen. Du brauchst halt für externe Leute ein Maven Repository, wo du deine Artifakte hostest.
Ja, es ist eine eigenständige Library. Ich finde generell ist das eigentlich nicht bockmist, denn dadurch wird Usern die Arbeit etwas erleichtert. Natürlich sollte man auch immer noch die Möglichkeit anbieten, alles selbst zusammen zu klicken. Viele Libraries bieten Distributionen an, wo alle Abhängigkeiten drin sind.
Nein, ist es nicht, Buckminster ist egal ob es sich um ein OSGi, plain Java, oder auch C Programm handelt. Je nach Typ hast du aber unterschiedliche Stufen an Komfort, denn plain Java Projekte sind nicht selbstbeschreibend wie zB OSGi oder Maven Projekte.
Aber trotzdem das falsche Werkzeug, weil Eclipse die gesuchte Funktionalität (wie hier auch schon erwähnt) bereits mitbringt.
Und dennoch kann ich nur davon abraten das zu benutzen wenn du vor hast die Bibliothek zu vertreiben.
Es gibt zwei Möglichkeiten für Runnable Jar Export:
1. Eclipse entpackt die Bibliotheken und packt sie dann neu
Ist rechtlich nicht unproblematisch und ausserdem können sich dabei Dateien gegenseitig überschreiben
2. Eclipse modifiziert deinen Code und mogelt einen angepassten Classloader unter.
Für Testzwecke ist das ganz lustig, produktiv würde ich mich aber keinesfalls darauf verlassen.
Maven scheint mir die sinnvollste Variante zu sein. Damit ist formal festgehalten welche Abhängigkeiten du hast und dadurch ist die Bibliothek einfach einzubinden.
Viele Libraries bieten Distributionen an, wo alle Abhängigkeiten drin sind.
Naaagut. Dann führt wohl kein Weg an Maven vorbei... Ich hatte mich damit shconmal vor wenigen Wochen beschäftigt und empfand es iwie als anstrengend. Aber wenns einem hinterher soviel erleichtert lohnt es sich ja offenbar...