There seems to be a problem with the system properties in Maven. It seems that system properties don't correspond to the environment variables.
The situation is that I would like to the change the absolute location of the user-specific settings.xml
file, as the Maven document says
If you need to create user-specific settings from scratch, it’s easiest to copy the global settings from your Maven installation to your ${user.home}/.m2 directory
which means that the only way to change the absolute location of the user-specific file is to change the user.home
property. But it seems that this is not exactly the HOME
or HOMEPATH
environment variable. In fact, I deleted all the environment variables such as HOME
and HOMEPATH
, and run mvn using mvn -X
just to see the user-specific settings.xml
that mvn uses. The result is the following (I am in Windows 7 and I run the command in cmd.exe):
Maven still finds a user.home
property, however, I haven't set such a environment variable. To verify this, I then run the set
command to see all the environment variables but find nothing about the path d:\Userfiles\xili\
which is used by Maven as the user.home
system property. By the way, there is no settings.xml file in this path, because I haven't put any file in this path.
How maven figure out such a path as user.home
?