title: Is there a way to update default-bindings.xml for maven on local
body: <p>It could sound dumb. But is there a way to edit or update the default-bindings file of maven?</p>
  
  <blockquote>
    <p>/META-INF/plexus/default-bindings.xml</p>
  </blockquote>
  
  <p><strong>Why would I want to do that?</strong></p>
  
  <hr>
  
  <p><em>Background -</em></p>
  
  <ul>
  <li><p>I am using latest <code>maven version 3.3.9</code> on my machine as a home directory within intelliJ.</p></li>
  <li><p>I have a module named <code>testng-test</code> without any external plugin specified. Take a look at the <code>pom.xml</code> for the module :</p>
  
  <pre><code>&lt;artifactId&gt;testng&lt;/artifactId&gt;
  
  &lt;dependencies&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.testng&lt;/groupId&gt;
          &lt;artifactId&gt;testng&lt;/artifactId&gt;
          &lt;version&gt;6.9.13.6&lt;/version&gt;
      &lt;/dependency&gt;
  &lt;/dependencies&gt;
  </code></pre></li>
  <li><p>And another module named <code>junit-test</code> with similar pom.xml but different dependency as follows :</p>
  
  <pre><code>&lt;artifactId&gt;junit&lt;/artifactId&gt;
  
  &lt;dependencies&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;junit&lt;/groupId&gt;
          &lt;artifactId&gt;junit&lt;/artifactId&gt;
          &lt;version&gt;4.12&lt;/version&gt;
      &lt;/dependency&gt;
  &lt;/dependencies&gt;
  </code></pre></li>
  <li><p>I have added two empty classes within these modules(no @Test methods or classes still). </p></li>
  </ul>
  
  <hr>
  
  <p><em>Activity -</em></p>
  
  <ul>
  <li>Now when I try to build each of these modules using <code>mvn clean install</code>, the module <code>junit-test</code> builds successfully, but the module <code>testng-test</code> fails with following logs : </li>
  </ul>
  
  <blockquote>
    <p>[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ testng ---</p>
    
    <p>[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ testng ---</p>
    
    <p>[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ testng ---</p>
    
    <p>[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ testng ---</p>
    
    <p>[INFO] --- <strong><em>maven-surefire-plugin:2.12.4</em></strong>:test (default-test) @ testng ---</p>
  </blockquote>
  
  <p>and then it would run into <code>SurefireReflectionException</code>  - </p>
  
  <blockquote>
    <p>Running TestNG6
    org.apache.maven.surefire.util.SurefireReflectionException:
    java.lang.reflect.InvocationTargetException; nested exception is
    java.lang.reflect.InvocationTargetException: null
    java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:497)
            at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
            at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
            at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
            at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
            at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
    Caused by: org.apache.maven.surefire.testset.TestSetFailedException:
    Unknown TestNG version 6.9.13.6</p>
  </blockquote>
  
  <hr>
  
  <p><em>Tried -</em></p>
  
  <p>To what I have noticed, if I explicitly update the plugin version for <code>maven-surefire-plugin</code> to <code>2.19.1</code> in the <code>&lt;plugins&gt;</code> property, things would just work fine. </p>
  
  <p>But what if I would not want to explicitly override the plugin versions for the projects, in such case how do I go around using the latest bindings(atleast those would fix) for my project?</p>
  
  <p>Looking into the default bindings, I could see in the <a href="https://github.com/apache/maven/blob/master/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml" rel="nofollow noreferrer">source code</a> that 
  the bindings are in the <code>default-bindings.xml</code> file for maven, but I am unable to find it inside my installed maven folder either to be possible to edit and update.</p>
  
  <p><em>So is there a way I can choose the default bindings to pick up (by default) the plugin versions I would want to specify for any maven module on my project list to execute with?</em></p>