Свойство Java «user.home» в Windows 7 с сетевыми профилями пользователей

1

У нас есть клиент, который запускает установки Windows 7 с профилями пользователей, хранящимися на Windows Server в интрасети (он называется "сервер терминального сервера" или что-то вроде этого, я думаю...).

Теперь у меня есть некоторые проблемы в Java относительно этих "внешних" профилей пользователей.

Я сохраняю некоторые настройки в папке в домашней папке пользователей (Windows: C:\Users\username\, Mac: /Users/username/). Поскольку приложение является кросс-платформенным, я не использую переменную среды Windows %USERPROFILE% в Jave, а свойство собственной собственности Java user.home.

Тем не менее, это то, что говорит CMD для переменной %USERPROFILE%:

>echo %USERPROFILE%
C:\Users\vvw\

И это то, что я получаю на Java:

>System.getProperty("user.home")
C:\windows\system32\config\systemprofile\

Почему свойство Java user.home умолчанию относится к этой странной директории?

И что было бы лучшим способом исправить пользовательский домашний каталог в Java для Mac и Windows?


Обновление. Помогла перезагрузка java и перезагрузка. Тем не менее, хорошо знать, что это также отслеживается как ошибка в базе данных ошибок Java, и это будет исправлено в Java 8.

Теги:
environment-variables
terminal-services

1 ответ

2
Лучший ответ

Прочитайте эту статью, у кого-то есть такая же проблема.

Поскольку вы не сказали, что на Mac нет проблем, выполните свой код на других машинах Windows. Возможно, что-то не так с вашей машиной разработчика.

Каталог C:\windows\system32\config\systemprofile\ выглядит как пользовательский каталог пользователя SYSTEM, но я не уверен. Это может означать, что java работает под пользовательской системой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню