Wie reduziere ich die Größe der JRE?

8

Ich habe kürzlich versucht, eine Java-App für die Verteilung im Mac App Store , stellte jedoch fest, dass die App durch Bündelung der Standard-JRE ihre Dateigröße um ca. 138 MB erhöhte. Ich möchte die Größe der JRE reduzieren, indem ich Komponenten, die ich nicht brauche (z. B. Corba, JavaFX, XML-Parsing), entferne, was zu einer kleineren Steigerung führt, wenn ich sie in eine App bündle.

Es gibt ein paar Fragen, wie diese , die einige Richtlinien dazu enthalten, welche Komponenten entfernt werden sollen, aber keine das beschreibt eigentlich wie um es zu reduzieren. Was muss ich tun, um die Größe der JRE zu reduzieren? Gibt es bestimmte Werkzeuge? Laden Sie einfach die Quelle herunter und hacken Sie die Klassen aus, die ich nicht haben möchte? Bearbeite ich meine aktuell installierte JRE? Ich bin nicht wirklich sicher, wo ich anfangen soll.

    
Thunderforge 09.02.2014, 06:11
quelle

1 Antwort

2

Ich habe das selbst nicht getestet, aber nach einigem Suchen, was ich gefunden habe.

Die Paketierung einer Java-App für die Verteilung auf einem Mac gibt Ihnen einen grundlegenden Überblick darüber, wie Sie die App bündeln (was sich so anhört, als ob Sie sie bereits erhalten hätten). Von dort habe ich die Dokumentation zum App Bundler verfolgt, auf der Seite unter "Laufzeit" sieht man, dass man explizit oder hinzufügen kann Dateien / Ordner von der Bündelung ausschließen.

Nach ihren Unterlagen

"By default, only the contents of the jre/ directory will be included with the bundled application. All executable content (i.e. bin/, jre/bin/) is excluded. Additional content can be included or excluded using nested <include> and <exclude> elements, respectively."

Von diesem nahm ich ihren Beispielcode und fügte eine Ausschlussanweisung hinzu:

%Vor%

Eine vollständige Liste der optionalen Ausschlüsse finden Sie im JRE-Stammverzeichnis - $JAVA_HOME/README.txt . Machen Sie eine Suche nach dem Text Optional Files and Directories und Sie werden in der Kopfzeile davon sein. Ich sehe mir die JRE7-Installation auf meinem Computer an, die JRE6-Readme-Datei scheint nichts zu enthalten.

Ich weiß, dass das nicht das Beispiel funktioniert, nach dem Sie suchen, aber ich hoffe, es hilft Ihnen, es herauszufinden.

    
ug_ 09.02.2014 08:23
quelle

Tags und Links