.jar Files - Tools zum generieren

Status
Nicht offen für weitere Antworten.

Oli

Top Contributor
Hallo,

ich benutze im Moment zum erstellen von jar - Files das PlugIn FatJar. Das hat aber den Nachteil, das es immer komplette Libraries einbindet, was zur Folge hat, dass das jar unnötig groß wird. So habe ich z.B. einen ODBC - Treiber für eine Verbindung zu einer AS400, davon benötige ich 250kb, es werden aber 4,5MB ins jar gepackt. Gibt es ein Tool, das besser ist und nur die Klassen eines Library einbindet, die wirklich benötigt werden?

Grüße Oli
 
M

MiDniGG

Gast
Naja. Also ich hab ein Tool geschrieben bei dem die Libs nicht ins Jar gepackt werden sondern in das Verzeichnis mitkopiert werden. So ist die Jar an sich nicht zu groß und es läuft trotzdem alles.

Kannst Dir ja mal anschaun.

http://andreas-programme.de/java.htm

Verbesserungsvorschläge gerne an mich!!! :)
 
M

maki

Gast
thE_29 hat gesagt.:
JBuilder ;)
Bei dem kann man einstellen nur Dependencies!
Für den Fall dass es untergegangen ist:
Er sucht ein Tool mit dem nicht die gesamte Jar, sondern nur die "verwendeten" Klassen daraus mitgepackt werden.

Das geht nicht (zumindest automatisch).
 

Grasstampfer

Gesperrter Benutzer
warum nicht die gute alte methode machen und im manifest des jars einfach den classpath eintragen und die jars mitliefern ?

oder ant das machen lassen ?

warum immer alles in alles packen....

jaja - loest nicht das problem von nur den klassen die man braucht... also das eher generell sehen ;-)
 
M

maki

Gast
Warum 4,5 MB ein Problem sein sollen verstehe ich ehrlich gesagt nicht..
 

Oli

Top Contributor
Hi, at all...

JBuilder ist nicht kostenlos, soviel ich weiß. Ich hatte mal die neuste Version zum Testen, ich habe aber nicht wirklich viel Unterschied zu Eclipse 3.3 gefunden.
Auch das Jar erstellen "nur Dependencies" gab´s da nicht mehr (oder so versteckt, dass ich es auf die Schnelle nicht gefunden habe).
Naja, ich werde das dann wohl doch mit Ants machen. Hier wäre ich aber über einen (oder mehrere) Links dankbar, in denen gut beschrieben wird wie man das anstellt.

Grüße Oli
 
M

maki

Gast
>> Naja, ich werde das dann wohl doch mit Ants machen. Hier wäre ich aber über einen (oder mehrere) Links dankbar, in denen gut beschrieben wird wie man das anstellt.

Nochmals den thread lesen und merken das es so etwas nicht gibt. ;)
 

Oli

Top Contributor
@maki

Oh die Diskussion gabs hier schonmal. Ich sehe halt nicht ein, 4,5MB mitzuschleppen, wenn ich davon nur 20% brauche. Und es handelt sich hier halt um eine Applikation für ein Unternehmen. Und jedes MB kostet Geld. Auch im Zeitalter der Terrabytes. Außerdem wird das File mit Novell Application Launcher ausgeliefert, und da ist es auch bei einem Gigabit Ethernet ein Unterschied ob ich 40MB oder 4MB ausliefere...

Grüße Oli
 
M

maki

Gast
>> Oh die Diskussion gabs hier schonmal.

Öfters, immer mit demselben Ergebnis -> geht nicht automatisch, müsstest schon Hand anlegen.

Ich sehe halt nicht ein, 4,5MB mitzuschleppen, wenn ich davon nur 20% brauche. Und es handelt sich hier halt um eine Applikation für ein Unternehmen. Und jedes MB kostet Geld. Auch im Zeitalter der Terrabytes. Außerdem wird das File mit Novell Application Launcher ausgeliefert, und da ist es auch bei einem Gigabit Ethernet ein Unterschied ob ich 40MB oder 4MB ausliefere...
Aha.... AS400... 4,5MiB sind zu groß und sprengen den Projektrahmen.. klar.

Bau dir ein eigenes jar mit den Klassen/Ressourcen die du brauchst und nutzte doch das anstatt dem "riesigen" Orignal jar. Legal ist das betstimmt nicht..
 

Oli

Top Contributor
Hallo maki,

da bin ich grad am prüfen, ob ich einzelne Klassen aus der Library verwenden darf, oder ob diese nur komplett benutzt werden darf. Es geht ja auch nicht nur um die 4,5 MB AS400, das war ja nur ein Beispiel. Es sind mehrere Libraries und wenn ich da alles zusammenstreiche, was ich nicht brauche, komme ich auf 12MB und eben nicht auf knapp 60.
Den Projektrahmen sprengen weder die 4,5 noch die 60 MB, aber warum unnötigen Ballast mitschleppen, wenn es nicht sein muss.

Grüße Oli
 
M

maki

Gast
Wenn du in jedem Projekt komplett eigene Jars baust um ein paar MiB zu sparen, lohnt sich das denn wenn man bedenkt was für ein Aufwand für das Update einzelner Jars und die Fehlersuche betrieben werden muss?
 

FArt

Top Contributor
Auch wenn es technisch möglich ist: man sollte sich mal genau die Lizenzbestimmungen der FremdAPIs ansehen, ob umpackagen oder sogar extrahieren der Ressourcen überhaupt erlaubt ist.

Sonst: Schnick-Schnack... Java bietet ausreichend gute Mittel mit JARs umzugehen... Klassenpfade setzen usw.

Wer kommt denn z.B. auf die Idee die DLLs derart zu verkleinern, dass nur die von mir benutzen Funktionen noch drin sind? Hirnrissig...
 

ARadauer

Top Contributor
grundätzlich:
von ener fremd-api einige klassen aus der jar zu werfen um platz zu sparen - ganz schlechte idee

1. man kann nie 100%ig sagen, ob eine klasse nicht doch gebraucht wird oder mal gebraucht werden wird... reflection, man erweitert sein eigenes programm usw..
2. diesen ganzen aufwand muss man bei jedem update der jar betreiben...
 

thE_29

Top Contributor
@maki: Der Jbuilder kann geanu das ;) (Zumindest noch in der 2k5 Version und in der 9er).
Man sagt import dependencies und er nimmt dann nur die Klassen die man benötigt!
 
M

maki

Gast
thE_29 hat gesagt.:
@maki: Der Jbuilder kann geanu das ;) (Zumindest noch in der 2k5 Version und in der 9er).
Man sagt import dependencies und er nimmt dann nur die Klassen die man benötigt!
Aus fremden Jars?
Das will ich sehen, glaub ich nämlich nicht ;)
 
M

maki

Gast
>> Ich weiß ja warum ich noch immer den benutze und nicht Eclipse icon_wink.gif

Was du da zeigst beweist gar nix ;)
Ist nur ein Menu in dem man auswählen kann was er exportiert, vermute mal die ganzen jars und nicht einzelne Klassen ;)

Nochmals zum verständnis:
Du hast eine (Fremd-)jar mit den Klassen a.ClassA, a.ClassB und a.ClassC, diese ist bei dir als Dependency eingestellt.
Jetzt möchtest du ein Jar aus deinen eigenen Klassen UND a.ClassB erzeugen, a.ClassA und a.ClassC sollen nicht mitkommen.

Wie machst du das? ;)

Wie sollte denn das gehen?
Wie schon erwähnt würde das Ding kaputte jars produzieren sobald reflection im Spiel ist.
 

thE_29

Top Contributor
Sobald reflection im Spiel ist gehts nicht!
Das ist klar!
Er sucht alle Klassen die du referenzierst und der sucht dann die anderen Klassen welche er benötigt, etc..

Dann geht das Tip Top! Sobald aber was mit reflection ist gehts nicht. Das ist klar.
 
M

maki

Gast
Er sucht alle Klassen die du referenzierst und der sucht dann die anderen Klassen welche er benötigt, etc..

Dann geht das Tip Top!
Ok, hätte ich zwar nicht erwartet, aber was es nicht alles gibt :)
 

FArt

Top Contributor
thE_29 hat gesagt.:

trivial: Abhängikeiten auflösen
praxisfremd: ich kenne keine sinnvolle, größere Applikation, die vollständig eingepackt werden könnte, da Reflection, Proxies, Spring, Aspekte usw. immer das einfache Auflösen von Abhängigkeiten verhindern.
 

thE_29

Top Contributor
Naja, es ging nie um eine große App ;)
Eher um Libs. Und da ist das manchmal recht praktisch.

Große Libs liefert man sowieso als seperate Lib aus ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
R Delete files before creating new from temp using Java file method Allgemeine Java-Themen 1
X Files.walkFileTree zählt nicht richtig Allgemeine Java-Themen 2
L Mehrere .Jar Files aufrufen Allgemeine Java-Themen 9
P Am Application Server - Selbe files aber trotzdem CNF Allgemeine Java-Themen 2
B Maven Zugriff auf files aus einem kompilierten jar Allgemeine Java-Themen 15
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
M *.class Files ausführen Allgemeine Java-Themen 2
F Java moved Files statt sie zu kopieren Allgemeine Java-Themen 12
B Existenz eines Files max 30 sec prüfen Allgemeine Java-Themen 5
C Input/Output Zip Files über Socket senden und empfangen Allgemeine Java-Themen 6
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
X Wav-Files abspielen Allgemeine Java-Themen 2
L Zwei Files miteinander vergleichen und Grafisch darstellen Allgemeine Java-Themen 1
W audio files metadaten Allgemeine Java-Themen 2
M Threads Excel files bearbeiten Allgemeine Java-Themen 4
J Wie kann man .txt Files übers Internet verschicken? Allgemeine Java-Themen 53
V Files mit Umlauten ergeben keine Größe Allgemeine Java-Themen 9
K Zip-Archive mit temporären Files erstellen Allgemeine Java-Themen 16
M Verschlüsselung von Text und Files durch RSA (Encoding Problem) Allgemeine Java-Themen 7
M wav-files kanäle zusammenfügen + pitchen Allgemeine Java-Themen 6
R Löschen von Files nicht möglich Allgemeine Java-Themen 11
B Files.isDirectory Allgemeine Java-Themen 14
P Ordnerstruktur nach .js-Files durchsuchen Allgemeine Java-Themen 2
L Class Files , Methode .delete() Allgemeine Java-Themen 13
P Files - nach der reihe String reinschreiben Allgemeine Java-Themen 2
J Laden von JAR Files geht ohne ADMIN Rechte sehr langsam Allgemeine Java-Themen 6
A Navigation zu Files innerhalb jar Allgemeine Java-Themen 3
P JAVA Bilder/Videos in Form von Files vergleichen Allgemeine Java-Themen 7
B Eclipse Attache source to own jar-files Allgemeine Java-Themen 2
B Permissions of Folders/Files Allgemeine Java-Themen 6
A External Sort - too many open files Allgemeine Java-Themen 6
E Files Kopieren Allgemeine Java-Themen 8
V Mac: Paketinhalt eins Files öffnen, wie? Allgemeine Java-Themen 3
M Übergabe mehrer Files an selbstprogrammieren Parser Allgemeine Java-Themen 4
reibi Separator in java.util.Properties-Files Allgemeine Java-Themen 3
M Webservices: WSDL Files ohne "Service" Element? Allgemeine Java-Themen 4
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
X Log files monitoren Allgemeine Java-Themen 7
reibi Files über Classpath laden Allgemeine Java-Themen 22
S Viele zip-files zu einem kombinieren..? Allgemeine Java-Themen 3
B Öffnen und schließen von Pdf-Files Allgemeine Java-Themen 8
T Class-files zur Laufzeit zu Reflection-Zwecken laden Allgemeine Java-Themen 18
R in .jar werden files nicht gefunden!!! Allgemeine Java-Themen 5
N Fehler mit Jar-Files Allgemeine Java-Themen 9
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
U Properties in Jar Files Allgemeine Java-Themen 3
Developer_X Extract Zip Files with Java Allgemeine Java-Themen 21
N 2 files auf gleichheit vergleichen Allgemeine Java-Themen 5
A Get all Files in Workspace Allgemeine Java-Themen 9
Quaxli Files massenhaft löschen Allgemeine Java-Themen 3
N Versionierung von jar-Files Allgemeine Java-Themen 5
Daniel_L Best Practice zum Löschen von Log-Files? Allgemeine Java-Themen 8
V aus mehreren jar files, ein großes basteln Allgemeine Java-Themen 22
J Too many open files Allgemeine Java-Themen 11
J Eclipse: Einbindung von jar-Files funktioniert nicht Allgemeine Java-Themen 4
A Problem: Mehrere PDF-Files nacheinander Öffnen Allgemeine Java-Themen 12
A jpeg Files mit eigenem Programm öffnen Allgemeine Java-Themen 4
M Embedded Files aus PDF extrahieren Allgemeine Java-Themen 3
J Too many files open Allgemeine Java-Themen 4
M Debuggen von Code in jar-Files? Allgemeine Java-Themen 5
G Sonderzeichen für Files Allgemeine Java-Themen 5
G bestimmte Files suchen Allgemeine Java-Themen 2
reibi Classenpath mit mehreren gleichen jar-Files Allgemeine Java-Themen 7
M Die gleiche Klasse in mehreren JAR files Allgemeine Java-Themen 5
M Probleme mit jar-files Allgemeine Java-Themen 5
G Bearbeiten von Files in einem Thread Allgemeine Java-Themen 4
reibi Klassenpfad für jar-Files Allgemeine Java-Themen 7
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
D Files umbenennen mit renameTo() Allgemeine Java-Themen 5
I Pfadangabe zu Files Allgemeine Java-Themen 2
X PowerPoint Files in Java erzeugen Allgemeine Java-Themen 2
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
K "Too many open files" bei Property List Allgemeine Java-Themen 5
T Mp3 files? Allgemeine Java-Themen 2
I Files einlesen Allgemeine Java-Themen 3
I Diverse Files aus Ordner auslesen Allgemeine Java-Themen 10
mabu Erstellen/Entpacken von Cabinet-Files Allgemeine Java-Themen 12
T Jar-Files und JVM-Cache? Allgemeine Java-Themen 2
P eingebundene *.jar- Files Allgemeine Java-Themen 28
G policy files laden? Allgemeine Java-Themen 8
T Files an das Betriebsystem übergeben such ideen! Allgemeine Java-Themen 3
M auf files des packages zugreifen Allgemeine Java-Themen 2
A Versionierung von Class-Files Allgemeine Java-Themen 10
vogella Korrektur der Filetypenzuordnung für .jar Files unter Window Allgemeine Java-Themen 2
S Files umbennen Allgemeine Java-Themen 4
M laden von Klassen aus jar files Allgemeine Java-Themen 2
R Drag und Drop von externen Files geht nur als Application Allgemeine Java-Themen 2
V Jar Files Auf meinem Handy Allgemeine Java-Themen 7
D Files einlesen (XML Files) Allgemeine Java-Themen 2
N Problem mit jar und ant: kann files nicht lesen! Allgemeine Java-Themen 15
P Fortschrittszustand von gezippten Files anzeigen Allgemeine Java-Themen 6
S JAR-Files Allgemeine Java-Themen 6
F Alle Files im Ordner nach Dateinamen durchsuchen Allgemeine Java-Themen 28
P Fehlermeldung beim Speichern eines java files Allgemeine Java-Themen 5
P jar files einbinden (Eclipse) Allgemeine Java-Themen 2
G Probleme mit Class Files Allgemeine Java-Themen 16
G rar files dekomprimieren Allgemeine Java-Themen 4
V INI Files, Properties etc. Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben