¿Se ignora la configuración JRE de todo el sistema en el archivo implementación.properties?

¿Se ignora la configuración JRE de todo el sistema en el archivo implementación.properties?

Básicamente tengo el mismo problema que enesta pregunta. Sin embargo, la solución propuesta no me funciona, ni en un servidor Win2003 ni en una computadora portátil Win7 utilizada para pruebas.

Tengo un programa Java SE 6 que se inicia mediante un programa .Net a través de una DLL de puente ActiveX. Para probar utilicé mi computadora Win7 con 3 JRE instalados; jdk1.7.0_55, jre1.6.0_45 y jre1.6.0_38-x64. La aplicación siempre usa jre1.6.0_45 y se inicia con un máximo de 95040 KB de memoria, pero necesito que sea un poco más.

Lo que funciona para aumentar la memoria es editar el archivo <userprofile>\AppData\LocalLow\Sun\Java\Deployment\deployment.propertiesy agregar la siguiente línea:

deployment.javaws.jre.1.args=-Xmx100m

pero el problema es que esto sólo funciona para un usuario y quiero que funcione para todos los usuarios de un servidor.

Como se discutió enesta respuestaCreé un archivo C:\Windows\Sun\Java\Deployment\deployment.configcon contenido

deployment.system.config=file\:C\:/Windows/Sun/Java/Deployment/deployment.properties

Luego copié el archivo implementación.properties de mi perfil de usuario a la C:\Windows\Sun\Java\Deployment\carpeta y nuevamente agregué la deployment.javaws.jre.1.args=-Xmx100mlínea al archivo copiado. Pero, por extraño que parezca, esto no funciona.

Cosas que probé hasta ahora:

  • colocando los archivos despliegue.config y despliegue.properties en la carpeta lib del JRE usado (D:\Java\jre1.6.0_45\lib) y del JRE más reciente (D:\Java\jdk1.7.0_55\jre\ biblioteca)

  • colocar los archivos en la carpeta C:\Windows\Sun\Java\Deployment de un servidor Win2003 (virtual) con un solo JRE instalado (v1.6.0_11)

  • Agregué las líneas deployment.javaws.jre.0.args=-Xmx100y deployment.javaws.jre.2.args=-Xmx100así todos los JRE instalados usarían la misma configuración.

  • Agregué una segunda línea al deployment.system.config.mandatory=truearchivo de implementación.config y modifiqué la ruta al archivo de implementación.properties a algo que no existe -> No pasó nada y la aplicación se iniciaría bien, por lo que parece que el archivo de implementación.config es totalmente ignorado por el JRE.

¿Alguien tiene idea de dónde me estoy equivocando?

Respuesta1

  1. No estoy seguro de que file\:C\:/Windows/Sun/Java/Deployment/deployment.propertiessea válido.URI de archivos de Windows.documentación ORACLEenumera uno ligeramente diferente y más plausible:file:///C:/Windows/Sun/Java/Deployment/deployment.properties

  2. Intente configurarlo deployment.system.config.mandatoryy Truevea si su aplicación no se inicia. Si falla, significa que JAVA no puede acceder deployment.configa través de su URI y necesita reparación:

    La propiedad implementación.system.config.mandatory es booleana.Si se establece en verdadero, el archivo de implementación.properties al que apunta la propiedad implementación.system.config se debe encontrar y cargar correctamente; de ​​lo contrario, no se permite ejecutar nada.Si la propiedad se establece en false, se intenta buscar y cargar la implementación. archivo de propiedades al que apunta la propiedad implementación.system.config. Si tiene éxito, se utiliza el archivo; de lo contrario, se ignora el archivo. El valor predeterminado para la propiedad implementación.system.config.mandatory es falso.

  3. Esta publicaciónsugiere que puedes intentar eliminar:

    • Archivo:%localappdata%\Sun\Java\Deployment\deployment.properties

    • Clave de registro:HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties

  4. Hay un problema con JAVA 7, descrito en esta publicación:Implementación de actualización automática de Java 1.7 con SCCM/MDT

Más pensamientos:

Estoy empezando a pensar que esta configuración de todo el sistema JRE no funciona para ninguna versión de Java. Eso o me falta algo por completo

Bueno, descubrí que definitivamente no funcionó en1.6.0_03 y 1.6.0_07:

P:Las propiedades de implementación relacionadas con el complemento Java no se tienen en cuenta en el archivo de propiedades de implementación a nivel del sistema. El problema es estrictamente reproducible en 1.6.0_03 y 1.6.0_07.

A: Probado con 6u14 b01. La configuración de implementación a nivel del sistema está funcionando en el nuevo complemento de Java. No vamos a arreglarlo para el complemento anterior. Cierre el CR como no reproducible en el nuevo complemento.

La configuración de implementación a nivel del sistema es una característica de Java Webstart. No se ha utilizado en el complemento de Java.

Desde 6u10, se utiliza el mismo mecanismo de selección de jre tanto para el nuevo complemento de Java como para el inicio web de Java. Esto hace posible que el nuevo complemento adapte la configuración a nivel del sistema. Marque este CR como RFE y de prioridad baja a media.

Y hay una especie de solución alternativa:

Lo siguiente podría servir como solución al problema: "¿Cómo configurar una propiedad (por ejemplo, Xmx) globalmente en una PC con Windows?"

Sin embargo, esto no es específico de ciertos componentes como Java Plugin o Java Web Start.

Abra el Panel de control de Windows: Avanzado → Variables de entorno → Variables del sistema → Nueva variable
Nombre de la variable:_OPCIONES_JAVA
Valor variable:-Xmx256m #(por ejemplo)
Cerrar todas las ventanas presionando OK

Al reiniciar "Internet Explorer", la configuración estará activa. La configuración afectará a todos los programas Java: tanto el iniciador "java.exe" como el Java Web Start "javaws.exe" y el complemento Java tal como lo inicia un navegador.

información relacionada