Cómo establecer una propiedad del sistema java para que sea efectiva cada vez que inicio JVM sin agregarlo a los argumentos de la línea de comando

Hubo un cambio en Java 1.7 en la forma en que se obtiene la configuración regional predeterminada del sistema operativo. Existen métodos para restaurar el comportamiento antiguo, por ejemplo, configurando el indicador -Dsun.locale.formatasdefault = true cuando se inicia 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 inicie una instancia de JVM. ¿Hay algún archivo o alguna otra posibilidad para cambiar la configuración predeterminada de JVM? ¿Algo como el archivo Eclipse.ini pero para la JVM en sí?

Puede establecer la variable de entorno establecida JAVA_TOOL_OPTIONS en su sistema operativo. Todas las herramientas de Java (java, javac, ..) seleccionarán esta variable y la usarán. Entonces podrías 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 progtwig C que llama a la DLL jvm, esto no se utilizará.

Editar: Acabo de probarlo, y parece que JAVA_TOOLS_OPTIONS también se recoge cuando se inician los archivos DLL (verificado con una aplicación Swing que usa WinRun4J como iniciador)

Ver: http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html