2012-01-12 3 views
4

В системе Windows XP есть способ определить текущее значение системного свойства user.home Java без, чтобы написать пример программы, например this?Как определить значение user.home без написания программы?

например, из командной строки или панели управления или реестра и т. Д.?

+1

Я не вижу, как этот вопрос связан с программированием, так как вы просите что-то конкретно не связанное , – Jack

+0

@Jack Извините, что вы так себя чувствуете. Это проблема разработки, так как вопросы о контроле версий (которые не являются прямым программированием) задаются здесь все время. Мне нужно это понять ** почему ** Eclipse в Windows XP НЕ создает каталог конфигурации для каждого пользователя. Предложение лучше спросить? –

+2

@RegexRookie Тогда почему бы не спросить об этом? И какое большое дело в создании программы для этого? В любом случае следует инициализировать домашний каталог пользователя окна. –

ответ

5

Если вы необходимо найти точное значение, которое будет возвращено для user.home в java-программе, когда оно запускается под той же учетной записью пользователя, что вы должны запустить java-программу для получения значения. Нет гарантированного стабильного сопоставления ни с чем другим в Windows для этой цели, и используемое в настоящее время отображение неверно, и вряд ли оно будет в конечном итоге изменено.

Эта запись ошибки описывает, как user.home получает на самом деле это значение в настоящее время и обсуждается несколько альтернатив, которые могли бы быть более подходящими: http://bugs.sun.com/view_bug.do?bug_id=4787931

+1

Эта информация открыта для глаз. Я только узнал, что значение user.home в моей системе - '% USERPROFILE%' - вопреки интуитивному '% HOME%', но идентичному '% HOMEDRIVE% \% HOMEPATH %'. Принятие +1. –

+1

@RegexRookie (Это то, что сказал Питер). –

2

Чтобы найти домашний каталог пользователя без запуска программы Java вы можете ...

Под окнами вы должны смотреть на %HOMEDRIVE% и %HOMEPATH%

Под Linux вы можете использовать $HOME

+0

Большое спасибо! Проблема в том, что запуск 'eclipse -initialize' не создает каталог конфигурации' .eclipse' в '% HOME%', как описано [здесь] (http://help.eclipse.org/indigo/index.jsp?topic =/org.eclipse.platform.doc.isv/ссылка/разное/multi_user_installs.html). Итак, я подозреваю, что Java имеет свою собственную ценность ... Думаю, мне придется написать эту программу выброса, чтобы узнать. :) –

+0

Если вы можете запустить Eclipse, вы можете увидеть все свойства системы. –

+0

'System.getProperty (« user.home »)' does * not * возвращает значение конкатенации '% HOMEDRIVE%' и '% HOMEPATH%' в соответствии с сообщением об ошибке, упомянутым ответом int x4u. Вместо этого Java просматривает реестр, чтобы определить папку рабочего стола пользователя и удаляет из него «Рабочий стол», что, вероятно, перепродает «% USERPROFILE%». –

Смежные вопросы