<p>Is it possible to have a different set of dependencies in a maven pom.xml file for different profiles?</p>

<p>e.g.</p>

<pre><code>mvn -P debug
mvn -P release
</code></pre>

<p>I'd like to pick up a different dependency jar file in one profile that has the same class names and different implementations of the same interfaces.</p>

To quote the
Maven documentation on this
:
A profile element contains both an optional activation (a profile trigger) and the set of changes to be made to the POM if that profile has been activated. For example, a project built for a test environment may point to a different database than that of the final deployment.
Or dependencies may be pulled from different repositories based upon the JDK version used
.
(Emphasis is mine)
Just put the dependency for the
```
release
```
profile inside the profile declaration itself and do the same for
```
debug
```
.
```
<profiles>
    <profile>
        <id>debug</id>
        …
        <dependencies>
            <dependency>…</dependency>
        </dependencies>
        …
    </profile>
    <profile>
        <id>release</id>
        …
        <dependencies>
            <dependency>…</dependency>
        </dependencies>
        …
    </profile>
</profiles>
```