Utilizamos las preferencias de Java en algunas de nuestras aplicaciones y realmente no lo hemos notado, ya que la utilidad que realiza las llamadas es bastante antigua y se escribió en Windows XP. Pero parece que las preferencias de Java ya no están almacenadas en el registro de Windows 7, o están almacenadas en otro lugar.¿Dónde están almacenadas las preferencias de Java en Windows 7?
Estoy esperando que sea en:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs
Pero yo no lo veo allí.
Lo que lo hace wierder, es que cuando corro esta aplicación:
public static void main(final String[] args) throws BackingStoreException {
Preferences systemRoot = Preferences.systemRoot();
Preferences preferences = systemRoot.node("com/mycompany/settings");
systemRoot.put("foo", "bar");
systemRoot.put("baz", "lolz");
System.out.println("-------------------------------");
String[] keys = preferences.keys();
for(String key : keys) {
System.out.println(key);
}
System.out.println("-------------------------------");
keys = systemRoot.keys();
for(String key : keys) {
System.out.println(key);
}
}
En realidad, escribe (que puedo comentar al apagar y volver a ejecutarlo y funciona) pero no ver el nuevo llaves en el registro.
Además, no puedo ver esto documentado en ninguna parte. Gracias por adelantado.
EDIT # 1 La única razón por la que esto es importante es porque la configuración cambia según el entorno en el que se ejecuta. Dicho esto, a menudo es útil simular ese entorno insertando las claves de registro manualmente y luego haciendo alguna comprobación.
Me estaba ejecutando como administrador, pero no vi las claves en el registro donde esperaba que estuvieran.
Usted podría utilizar Sysinternals Process monitor para ver el registro y operaciones del sistema de archivos para ese proceso y tratar de deducir hacia dónde se dirigen las lecturas/escrituras. –
¿Por qué debería almacenar algo en 'HKEY_LOCAL_MACHINE'? Esperaría que viviera bajo ['HKEY_CURRENT_USER'] (http://en.wikipedia.org/wiki/Windows_Registry#HKEY_CURRENT_USER_.28HKCU.29). Además: ¿por qué te importa? No está documentado por una razón: no debes confiar en él y puede cambiar en cualquier momento. –
debe estar allí: por cierto ¿se está ejecutando como administrador? – bestsss