util - Cómo establecer una propiedad del sistema java para que sea efectiva cada vez que inicio JVM sin agregarla a los argumentos de la línea de comandos
sistema operativo en java (1)
Hubo un cambio en Java 1.7 en la forma en que la configuración regional predeterminada es obtener del sistema operativo. Existen métodos para restaurar el comportamiento anterior, por ejemplo, configurando el indicador -Dsun.locale.formatasdefault = true al iniciar una instancia de JVM.
Me gustaría establecer este indicador de forma permanente para que no tenga que especificarlo en los argumentos de la línea de comandos cada vez que inicio una instancia de JVM. ¿Existe un archivo o alguna otra posibilidad para cambiar la configuración predeterminada de JVM? ¿Algo como el archivo Eclipse.ini pero para la propia JVM?
Puede configurar la variable de entorno JAVA_TOOL_OPTIONS
en su sistema operativo. Todas las herramientas de Java (java, javac, ..) recogerán esta variable y la utilizarán. Así que podrías, por ejemplo, usar
SET JAVA_TOOL_OPTIONS=-Dsun.locale.formatasdefault=true
Uso esto para forzar una configuración regional específica para cada JVM.
Pero esto solo funciona si su aplicación se inicia a través de las herramientas de Java. Si, por ejemplo, se inicia desde un programa en C que llama a la DLL jvm, no se utilizará.
Edición: acabo de probarlo, y parece que JAVA_TOOLS_OPTIONS también se selecciona cuando se inician los DLL (verificado con una aplicación Swing que usa WinRun4J como un lanzador)
Consulte: http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html