# Modify maven-toolchain to look in \${maven.home}/conf/toolchains.xml and in \${user.home}/.m2/toolchains.xml

XMLWordPrintableJSON

#### Details

• Improvement
• Status: Closed
• Major
• Resolution: Fixed
• 2.0.9
• None

#### Description

Actually, we can only specify the toolchains.xml in \${user.home}/.m2/toolchains.xml.

However, like for the settings.xml, it would be very convenient to specify a default toolchains.xml in \${maven.home}/conf/toolchains.xml

The idea is : If there is NO \${user.home}/.m2/toolchains.xml,
then uses \${maven.home}/conf/toolchains.xml,
otherwise NONE defined.

Merging both would also be good but not necessary.

The change is very simple. Edit the file
maven-toolchain\src\main\java\org\apache\maven\toolchain\DefaultToolchainManager.java

and replace

```private PersistedToolchains readToolchainSettings() throws MisconfiguredToolchainException {
File tch = new File(System.getProperty("user.home"), ".m2/toolchains.xml");
if (tch.exists()) {
...
```

by

```private PersistedToolchains readToolchainSettings() throws MisconfiguredToolchainException {
File tch = null;
tch = new File(System.getProperty("user.home"), ".m2/toolchains.xml");
if (tch == null || !tch.exists()) {
tch = new File(System.getProperty("maven.home"), "conf/toolchains.xml");
}

if (tch.exists()) {
...
```

I did that on my local environment by compiling this 2.0.11-SNAPSHOT class and integrating it in my maven-2.0.9-uber.jar and it works perfectly.

#### People

Robert Scholte
Marco Lessard