Где хранятся предпочтения Java в Windows 7?

Мы используем настройки Java в некоторых наших приложениях и особо не замечали этого, поскольку утилита, которая выполняет вызовы, довольно старая и была написана еще во времена Windows XP. Но похоже, что настройки Java больше не хранятся в реестре Windows 7 - или они хранятся где-то в другом месте.

Я ожидаю, что это будет в:

HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Prefs

Но я не вижу его там.

Что делает его более странным, так это то, что когда я запускаю это приложение:

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 );
    }
}

Оно на самом деле пишет (я могу прокомментировать вставку и запустите его снова, и он заработает), но я не вижу новых ключей в реестре.

Кроме того, я нигде не могу увидеть это задокументировано. Заранее спасибо.

РЕДАКТИРОВАТЬ # 1 Единственная причина, по которой это имеет значение, состоит в том, что настройки меняются в зависимости от того, в какой среде он запущен. При этом часто бывает полезно смоделировать эту среду, вставив ключи реестра вручную, а затем выполнив некоторую проверку.

Я работал как администратор, но я не видел ключи в реестре там, где я ожидал их найти.

48
задан javamonkey79 9 February 2011 в 19:17
поделиться