Nous regroupons Java 6 JRE avec notre programme d'installation d'applications afin qu'il puisse être exécuté sur n'importe quelle machine, mais cela rend l'application un peu plus lourde. Nous prévoyons donc de réduire la taille de JRE. Si quelqu'un a fait ce genre de tâche, pouvez-vous s'il vous plaît fournir des conseils pour aller de l'avant avec cela?Réduction de la taille de JRE
Répondre
Regardez le fichier README dans le répertoire JRE. La section 'Fichiers et répertoires facultatifs' répertorie un certain nombre de fichiers qui peuvent être supprimés de l'Oracle/Sun JRE si vous l'empaquetez avec votre application.
J'utilise un fichier de construction Ant pour copier le JRE de l'emplacement d'installation du système dans le répertoire du package lors de la création d'une installation. Mettez la liste des fichiers que vous voulez exclure dans un fichier séparé et utiliser l'attribut « excludesfile » pour charger cette liste:
<copy todir="${deployed_jre_dir}">
<fileset dir="${system_jre_dir}" excludesfile="jre_excludes.properties"
</copy>
Exemple de fichier jre_excludes.properties:
# per the README from the JRE, these files are for the browser plugin and are not needed otherwise
#bin/javaw.exe
bin/javaws.exe
bin/javacpl.exe
bin/jucheck.exe
bin/jusched.exe
bin/wsdetect.dll
bin/NPJPI*.dll
bin/NPJava*
bin/NPOJI610.dll
bin/RegUtils.dll
bin/axbridge.dll
bin/deploy.dll
bin/jpicom.dll
bin/javacpl.cpl
bin/jpiexp.dll
bin/jpinscp.dll
bin/jpioji.dll
bin/jpishare.dll
lib/deploy.jar
lib/plugin.jar
lib/javaws.jar
lib/javaws/messages*
lib/javaws/miniSplash.jpg
bin/new_plugin**
bin/jureg*
bin/ssv*
bin/jqs*
bin/jp2*
lib/deploy/**/*
# if you do not need any RMI stuff
# wildcard to catch .exe files on Windows
# note rmi.dll is not excluded, which is needed by jconsole; add rmi.dll if you do not need jsonsole
bin/jbroker*
bin/java-rmi*
bin/rmid*
bin/rmiregistry*
bin/tnameserv*
bin/orbd*
bin/servertool*
# do not include QuickTime
# this will be in the jre dir for machines that have QT installed
lib/ext/QTJava.zip
Vous essayez de réduire la taille d'un JRE standard? Ne fais pas ça. Vous pouvez choisir de regrouper un JRE alternatif qui peut être plus petit. Une liste peut être trouvée sur this Wikipedia page. Comme toujours, méfiez-vous des problèmes de compatibilité et testez votre application à fond.
Un autre moyen, et plus sûr, consiste simplement à exiger l'installation d'un JRE sur la machine cible.
Quelques informations de mise à jour: depuis java 8 il existe un outil Oracle officiel appelé jrecreate pour la création de petits packages JRE incorporés.
Pour mon application de bureau Java 8 Mise à jour 144 I Excluez les 2 grands fichiers FX Java:
bin/jfxwebkit.dll // ~34 MB unpacked
lib/ext/jfxrt.jar // ~17 MB unpacked
Le jre compressé est de 49 Mo au lieu de 66 Mo.
Pour moi, c'est un compromis acceptable entre la taille réduite et la complexité de construction ajoutée (et les bogues potentiels).
dans la liste de fichiers optionnelle, il est dit que java.exe est également optionnel. donc sans cela comment commencer mon application. – asela38
pouvez-vous partager votre jre_excludes.properties – asela38
Je pense que java.exe est facultatif, car vous pouvez utiliser javaw.exe à la place. javaw peut être préféré car il n'ouvre pas une fenêtre de console. – AngerClown