Incluimos Java 6 JRE con nuestro instalador de aplicaciones para que pueda ejecutarse en cualquier máquina, pero esto hace que la aplicación sea un poco más pesada. Entonces, estamos planeando reducir el tamaño del JRE. Si alguien ha realizado este tipo de tarea, ¿puede proporcionar una guía para seguir adelante con esto?Reducción del tamaño de JRE
Respuesta
Mire el archivo README en el directorio JRE. La sección 'Archivos y directorios opcionales' enumera una serie de archivos que pueden eliminarse de Oracle/Sun JRE si lo está empaquetando con su aplicación.
Utilizo un archivo de compilación Ant para copiar el JRE de la ubicación de instalación del sistema en el directorio del paquete al crear una instalación. Ponga la lista de archivos que desea excluir en un archivo separado y utilizar el atributo '' excludesfile a cargar esta lista: jre_excludes.properties
<copy todir="${deployed_jre_dir}">
<fileset dir="${system_jre_dir}" excludesfile="jre_excludes.properties"
</copy>
Ejemplo de archivo:
# 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
¿Está tratando de reducir el tamaño de un JRE estándar? No hagas eso. Puede optar por agrupar un JRE alternativo que podría ser más pequeño. Se puede encontrar una lista en this Wikipedia page. Como siempre, tenga cuidado con los problemas de compatibilidad y pruebe su aplicación a fondo.
Otra manera, y más segura, es simplemente requerir una instalación de un JRE en la máquina de destino.
Algo de información actualización desde java 8 existe una herramienta oficial de Oracle llamada jrecreate para la creación de pequeños paquetes JRE integrados.
Por mi aplicación de escritorio Java 8 Actualización 144 que excluye los 2 grandes archivos de Java FX:
bin/jfxwebkit.dll // ~34 MB unpacked
lib/ext/jfxrt.jar // ~17 MB unpacked
el JRE con cremallera es de 49 MB en lugar de 66 MB.
Para mí, este es un compromiso aceptable entre el tamaño reducido y la complejidad de compilación añadida (y posibles errores).
- 1. Reducción del tamaño de bitmap en C#
- 2. Reducción del tamaño del archivo PNG en .NET
- 3. Reducir el tamaño del vídeo con el mismo formato y la reducción de tamaño del marco
- 4. Reducción del tiempo de carga del applet
- 5. Reducción de una lista de arreglos a un nuevo tamaño
- 6. ¿Qué me impide cambiar el tamaño (reducción de tamaño) de mi objeto de formulario de Windows?
- 7. Android: altura TextView no cambia después de la reducción del tamaño de la fuente
- 8. Reducción del tamaño/cambio de tamaño de un video durante la carga en un sitio web remoto
- 9. remquo: reducción de argumento?
- 10. Reducción del uso de memoria de Redmine - Fruta colgante baja
- 11. Analizador de reducción en Javascript
- 12. ¿Algoritmo de reducción de cola?
- 13. Reducción de JPG durante la descompresión JPG
- 14. Reducción del número de registros utilizados en Kernel CUDA
- 15. Reducción del espacio entre las secciones de UITableView
- 16. Reducción del número de argumentos a un constructor
- 17. ¿Cómo verificar la versión de JRE antes del lanzamiento?
- 18. Biblioteca del sistema JRE de Eclipse [J2SE-1.5]
- 19. Reducción de imágenes en lugar de Estirar
- 20. JRE incluido con JDK frente a JRE independiente
- 21. Pinche para ampliar el tamaño del lienzo
- 22. Reducción en la perspectiva
- 23. Reducción a PDF
- 24. MXMLC y 64bit JRE
- 25. Java JRE vs GCJ
- 26. ¿Qué significa reducción de dimensionalidad?
- 27. Reducción de resolución sin suavizado
- 28. Webstart se ejecuta con una versión incorrecta del JRE
- 29. Encontrando el JRE en Windows
- 30. JDK, JRE, Java: Version Confusion!
en la lista de archivos opcional dice que java.exe también es opcional. así que sin esto, ¿cómo puedo comenzar mi aplicación? – asela38
puede compartir su jre_excludes.properties – asela38
Creo que java.exe es opcional porque puede usar javaw.exe en su lugar. javaw puede ser preferido ya que no abre una ventana de consola. – AngerClown