Как я могу получить Java, чтобы получить настройки из другого места? - PullRequest
2 голосов
/ 03 марта 2012

Я предвосхищу это двумя примечаниями: 1) Я очень мало знаю о Java. 2) То, что я собираюсь просить, почти наверняка ужасный взлом.

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

Моя проблема в том, что я хочу запустить более одного экземпляра этого кода с разными настройками в каждом экземпляре. Можно ли указать интерпретатору Java использовать альтернативное расположение для хранения настроек, используя аргумент командной строки или переменную среды?


Изменить: Я добавлю дополнительное условие, что каждый из экземпляров должен работать под тем же пользователем, с доступом к тем же (не предпочтительным) файлам.

Ответы [ 4 ]

2 голосов
/ 03 марта 2012

Все просто.Кажется, это будет личный каталог пользователя.Попробуйте запустить / запустить одну и ту же программу под разными учетными записями пользователей.

1 голос
/ 03 марта 2012

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

При этом, вы всегда можете декомпилировать код и попытаться выяснить, есть ли какие-либо опции для передачи каталога настроек.

0 голосов
/ 13 мая 2012

Кажется, что ответ "это невозможно сделать".

0 голосов
/ 03 марта 2012

Вы можете потенциально создавать разные chroot для каждого экземпляра, который вы хотите запустить.

...