Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

weiß jemand zufällig wie man unter Ant im Task <jar> neben den eigenen Klassen zusätzlich externe jar-Archive hinzufügen kann?

Für WAR und EAR wird dies durch den task <lib> zur verfügung gestellt, aber zu <jar> habe ich da nix gefunden...

Geschrieben
weiß jemand zufällig wie man unter Ant im Task <jar> neben den eigenen Klassen zusätzlich externe jar-Archive hinzufügen kann?

Für WAR und EAR wird dies durch den task <lib> zur verfügung gestellt, aber zu <jar> habe ich da nix gefunden...

Willst du nur den Inhalt von verschiedenen JARs mit in das Ziel-JAR packen, oder die JARs selber in das Ziel-JAR einpacken?

Für beide Ziele ist mir keine eingebaute Funktionalität bekannt, aber sowas sollte, wenn du es denn wirklich brauchst, in einem eigenen Task relativ schnell selber schreiben lassen. Oder du kopierst erst alle Daten in ein Verzeichnis, führst dann ein ZIP aus und benennst das Archiv dann in JAR um.

Andere Frage: Wieso willst du JARs in JARs packen?

Geschrieben

Du könntest einen exec-Task erstellen, der die alle jars entpackt. Danach kannst du mit jar wieder alles packen.

Allerdings bin kein Fan von diesen Lösungen. Die anderen jars gehören in den Classpath eingetragen und nicht in dein Archiv! Schon mal überprüft, ob du damit das copyright der anderen Ersteller verletzt?

Bzw. besteht der Eindruck das alles erstellt hast. Die Arbeit der Anderen geht hierbei vollkommen unter.

Geschrieben
Die Arbeit der Anderen geht hierbei vollkommen unter.
Da bin ich anderer Meinung. Der End-User, an den die Software ausgeliefert wird bekommt in der Regel überhaupt nicht mit, ob ich nun innerhalb meiner Applikation die Struktur

- lib/myApplication.jar

- lib/myLibraries.jar

oder

- lib/myApplication.jar

- lib/log4j.jar

- lib/forms.jar

- lib/looks.jar

- lib/commons-vfs.jar

- ...

habe. Der will auch das Icon klicken und das Programm muss funktionieren. Credits an externe Bestandteile kann man immer noch im About Dialog oder sonstwo hinpacken.

Ich würde aus anderen Gründen niemals die JAR-in-JAR Lösung wählen - es ist einfach schlechter Stil. Wenn ich jetzt beispielsweise Log4J auf die neueste Version update muss ich den ganzen Build Prozess neu anstoßen, so nehme ich einfach ein JAR, tausche es aus und gut ist. Gerade wenn ich eine Auto-Update Funktionalität anbieten möchte ist das sehr praktisch.

Und ein lib Verzeichnis mit 20 anstatt 2 Dateien stört auch nicht wirklich.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...