2015-09-23 2 views
1

Кажется, что проблема связана с свойствами системы в Maven. Кажется, что свойства системы не соответствуют переменным среды.Maven3 system.property user.home vs переменная окружения HOME

Ситуация такова, что я хотел бы к изменению абсолютного местоположения конкретного пользователя settings.xml файла, так как документ Maven говорит

Если вам необходимо создать пользовательские настройки с нуля, это Проще всего скопировать глобальные настройки из установки Maven в ваших $ {user.home} /. м2 каталог

, что означает, что единственный способ изменить абсолютное расположение файла для конкретного пользователя, чтобы изменить user.home p roperty. Но кажется, что это не совсем так называемая переменная окружения HOME или HOMEPATH. Фактически, я удалил все переменные среды, такие как HOME и HOMEPATH, и запустил mvn с помощью mvn -X, чтобы увидеть только то, что mvn использует для пользователя settings.xml. В результате получается следующее (я в Windows 7, и я запускать команду в cmd.exe):

enter image description here

Maven до сих пор находит user.home свойства, однако, я не установил такое переменное окружение. Чтобы проверить это, я затем запустил команду set, чтобы увидеть все переменные среды, но ничего не нашел о пути d:\Userfiles\xili\, который используется Maven как системное свойство user.home. Кстати, в этом пути нет файла settings.xml, потому что я не помещал ни одного файла в этот путь.

Как maven рассчитывает такую ​​траекторию, как user.home?

ответ

1

Ответ здесь!

http://www.timehat.com/javas-user-home-is-wrong-on-windows/

В самом деле, в Windows,, виртуальная машина использует PATH_TO_DESKTOP_FOLDER_AS_SET_IN_THE_REGISTRY как ссылки для определения Wheres является user.home.

user.home - это только родительская папка вышеуказанного пути. Вот и все, это не имеет никакого отношения к переменной окружения HOME или HOMEPATH.

В исходном коде Maven должен быть код System.getProperty('user.home').

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

  • Нет связанных вопросов^_^