How do I find out which settings.xml file maven is using

Solution 1:

Use the Maven debug option, ie mvn -X :

Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
Maven home: /usr/java/apache-maven-3.0.3
Java version: 1.6.0_12, vendor: Sun Microsystems Inc.
Java home: /usr/java/jdk1.6.0_12/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-32-generic", arch: "i386", family: "unix"
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from /usr/java/apache-maven-3.0.3/conf/settings.xml
[DEBUG] Reading user settings from /home/myhome/.m2/settings.xml
...

In this output, you can see that the settings.xml is loaded from /home/myhome/.m2/settings.xml.

Solution 2:

mvn help:effective-settings shows the effective settings of the current environment including your location of settings.xml file.

Additionally showPasswords=true will help you see the passwords resolved as well if you are using environment variables.

mvn help:effective-settings -DshowPasswords=true

I had wasted a lot of time with -X option earlier and this will help you quickly solve your troubles.