diff --git a/pom.xml b/pom.xml
index 800b1b7..01719f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.maven.shared</groupId>
     <artifactId>maven-shared-components</artifactId>
-    <version>30</version>
+    <version>31</version>
     <relativePath>../../pom/maven/maven-shared-components/pom.xml</relativePath>
   </parent>
 
@@ -61,7 +61,6 @@
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-component-metadata</artifactId>
-        <version>1.7.1</version>
         <executions>
           <execution>
             <goals>
@@ -73,7 +72,10 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>3.0.0</version>
+        <!--
+         ! explicit overwrite cause otherwise we get an 2.4.3...instead. 
+         -->
+        <version>3.1.0</version>
         <executions>
           <execution>
             <phase>package</phase>
@@ -107,6 +109,10 @@
         <configuration>
           <excludes combine.children="append">
             <exclude>dependency-reduced-pom.xml</exclude>
+            <exclude>src/it/**/.settings/**</exclude>
+            <exclude>src/it/**/.project</exclude>
+            <exclude>src/it/**/.classpath</exclude>
+            <exclude>src/it/**/target/**</exclude>
           </excludes>
         </configuration>
       </plugin>
@@ -165,7 +171,6 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-component-annotations</artifactId>
-      <version>1.7.1</version>
     </dependency>
 
     <dependency>
diff --git a/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResult.java b/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResult.java
index c9169b3..3118036 100644
--- a/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResult.java
@@ -38,7 +38,7 @@
     /**
      * @param artifactResult {@link ArtifactResult}
      */
-    public Maven30ArtifactResult( ArtifactResult artifactResult )
+    Maven30ArtifactResult( ArtifactResult artifactResult )
     {
         this.artifactResult = artifactResult;
     }
diff --git a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30ArtifactResult.java b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30ArtifactResult.java
index 70cfa14..f3274f9 100644
--- a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30ArtifactResult.java
@@ -38,7 +38,7 @@
     /**
      * @param artifactResult {@link ArtifactResult}
      */
-    public Maven30ArtifactResult( ArtifactResult artifactResult )
+    Maven30ArtifactResult( ArtifactResult artifactResult )
     {
         this.artifactResult = artifactResult;
     }
diff --git a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolverException.java b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolverException.java
index 450e6b8..23145e4 100644
--- a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolverException.java
+++ b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolverException.java
@@ -43,7 +43,7 @@
         this.dce = e;
     }
     
-    public Maven30DependencyResolverException( ArtifactResolutionException e )
+    Maven30DependencyResolverException( ArtifactResolutionException e )
     {
         super( e );
         this.are = e;
diff --git a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31ArtifactResult.java b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31ArtifactResult.java
index c86e587..b3d887f 100644
--- a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31ArtifactResult.java
@@ -38,7 +38,7 @@
     /**
      * @param artifactResult {@link ArtifactResult}
      */
-    public Maven31ArtifactResult( ArtifactResult artifactResult )
+    Maven31ArtifactResult( ArtifactResult artifactResult )
     {
         this.artifactResult = artifactResult;
     }
diff --git a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolverException.java b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolverException.java
index 995fe48..833f2a1 100644
--- a/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolverException.java
+++ b/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolverException.java
@@ -34,7 +34,7 @@
 {
     private DependencyResolutionException e;
 
-    public Maven31DependencyResolverException( DependencyResolutionException e )
+    Maven31DependencyResolverException( DependencyResolutionException e )
     {
         super( e );
         this.e = e;
