title: Resolve multiple SLF4J bindings in maven project
body: <p>This is a question sounds like bunch of <a href="https://stackexchange.com/search?q=maven%20multiple%20SLF4J">similar questions</a> on SE sites, so I should be quite verbose to make my question clear. So, here is project's minimal <code>pom.xml</code>:</p>
  <pre><code>&lt;dependencies&gt;
       &lt;dependency&gt;
          &lt;groupId&gt;ch.qos.logback&lt;/groupId&gt;
          &lt;artifactId&gt;logback-classic&lt;/artifactId&gt;
          &lt;version&gt;1.0.6&lt;/version&gt;
      &lt;/dependency&gt;
  
     &lt;dependency&gt;
          &lt;groupId&gt;org.codehaus.gmaven.runtime&lt;/groupId&gt;
          &lt;artifactId&gt;gmaven-runtime-1.7&lt;/artifactId&gt;
          &lt;version&gt;1.3&lt;/version&gt;
     &lt;/dependency&gt;
  
  &lt;/dependencies&gt;
  &lt;build&gt;
      &lt;plugins&gt;
          &lt;plugin&gt;
              &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
              &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt;
              &lt;version&gt;1.2.1&lt;/version&gt;
              &lt;configuration&gt;
                  &lt;mainClass&gt;org.shabunc.App&lt;/mainClass&gt;
              &lt;/configuration&gt;
          &lt;/plugin&gt;
      &lt;/plugins&gt;
  &lt;/build&gt;
  </code></pre>
  <p>Here is the dependency tree produced by maven.</p>
  <p><code>mvn dependency:tree -Dverbose -Dincludes=org.slf4j</code>:</p>
  <pre><code>[INFO] [dependency:tree {execution: default-cli}]
  [INFO] org.shabunc:logdebug:jar:1.0-SNAPSHOT
  [INFO] \- ch.qos.logback:logback-classic:jar:1.0.6:compile
  [INFO]    \- org.slf4j:slf4j-api:jar:1.6.5:compile
  </code></pre>
  <p>Now, let's remove exclusion and check dependencies again. We'll get:</p>
  <pre><code> [INFO] org.shabunc:logdebug:jar:1.0-SNAPSHOT
  [INFO] +- ch.qos.logback:logback-classic:jar:1.0.6:compile
  [INFO] |  \- org.slf4j:slf4j-api:jar:1.6.5:compile
  [INFO] \- org.codehaus.gmaven.runtime:gmaven-runtime-1.7:jar:1.3:compile
  [INFO]    +- (org.slf4j:slf4j-api:jar:1.5.10:compile - omitted for conflict with 1.6.5)
  [INFO]    +- org.codehaus.gmaven.feature:gmaven-feature-support:jar:1.3:compile
  [INFO]    |  \- (org.slf4j:slf4j-api:jar:1.5.10:compile - omitted for conflict with 1.6.5)
  [INFO]    \- org.codehaus.gmaven.runtime:gmaven-runtime-support:jar:1.3:compile
  [INFO]       +- (org.slf4j:slf4j-api:jar:1.5.10:compile - omitted for conflict with 1.6.5)
  [INFO]       \- org.sonatype.gshell:gshell-io:jar:2.0:compile
  [INFO]          \- org.sonatype.gossip:gossip:jar:1.0:compile
  [INFO]             \- (org.slf4j:slf4j-api:jar:1.5.8:compile - omitted for conflict with 1.6.5)
  </code></pre>
  <p>So, as we can see, everything works as expected, and conflicting dependency is actually get excluded. But the thing is that even <strong>with</strong> dependency excluded I still get following message while compiling and calling <code>mvn exec:java</code>:</p>
  <pre><code>SLF4J: Class path contains multiple SLF4J bindings.
  SLF4J: Found binding in [jar:file:/home/shabunc/.m2/repository/ch/qos/logback/logback-classic/1.0.6/logback-classic-1.0.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  SLF4J: Found binding in [jar:file:/home/shabunc/.m2/repository/org/sonatype/gossip/gossip/1.0/gossip-1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  </code></pre>
  <p>The question is: Why I still see this warning and what exactly should be done to make only one version of slf4j reachable during execution?</p>