diff --git a/pom.xml b/pom.xml
index 8cd34c2..7a86767 100644
--- a/pom.xml
+++ b/pom.xml
@@ -321,28 +321,6 @@
         <version>2.5</version>
         <scope>provided</scope>
       </dependency>
-      <!-- Plexus -->
-      <!--dependency>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-component-api</artifactId>
-        <version>1.0-alpha-20</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-container-default</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency-->
-      <dependency>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-utils</artifactId>
-        <version>3.0</version>
-      </dependency>
-      <dependency>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-interpolation</artifactId>
-        <version>1.9</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.archiva.redback.components.cache</groupId>
         <artifactId>spring-cache-api</artifactId>
@@ -373,28 +351,6 @@
         <artifactId>spring-registry-commons</artifactId>
         <version>${redback.comp.spring-registry.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-digest</artifactId>
-        <version>1.1</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-container-default</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-slf4j-logging</artifactId>
-        <version>1.1-alpha-1</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-container-default</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
       <!-- Other -->
       <dependency>
         <groupId>org.apache.commons</groupId>
@@ -1045,7 +1001,7 @@
           <plugin>
             <groupId>org.gaul</groupId>
             <artifactId>modernizer-maven-plugin</artifactId>
-            <version>1.5.0</version>
+            <version>1.9.0</version>
             <configuration>
               <javaVersion>1.8</javaVersion>
             </configuration>
diff --git a/redback-integrations/redback-common-integrations/pom.xml b/redback-integrations/redback-common-integrations/pom.xml
index d6d97e0..33df592 100644
--- a/redback-integrations/redback-common-integrations/pom.xml
+++ b/redback-integrations/redback-common-integrations/pom.xml
@@ -35,7 +35,7 @@
 
   <dependencies> 
     <!-- ================================================================ -->
-    <!-- Core Plexus Security Dependencies -->
+
     <dependency>
       <groupId>org.apache.archiva.redback</groupId>
       <artifactId>redback-configuration</artifactId>
@@ -132,10 +132,6 @@
     </dependency>      
 
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-    </dependency>
-    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>
       <scope>provided</scope>
diff --git a/redback-integrations/redback-rest/redback-rest-services/pom.xml b/redback-integrations/redback-rest/redback-rest-services/pom.xml
index 7c2c733..562332f 100644
--- a/redback-integrations/redback-rest/redback-rest-services/pom.xml
+++ b/redback-integrations/redback-rest/redback-rest-services/pom.xml
@@ -237,26 +237,13 @@
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-clean-plugin</artifactId>
-        <configuration>
-          <filesets>
-            <fileset>
-              <directory>${basedir}/${plexus.home}</directory>
-            </fileset>
-          </filesets>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <excludes>
             <exclude>**/FakeCreateAdminService**.java</exclude>
           </excludes>
           <systemPropertyVariables>
-            <plexus.home>${project.build.directory}/test-home</plexus.home>
             <derby.system.home>${project.build.directory}/test-home</derby.system.home>
-            <test.useTomcat>${test.useTomcat}</test.useTomcat>
             <redback.jdbc.url>${redbackTestJdbcUrl}</redback.jdbc.url>
             <redback.jdbc.driver.name>${redbackTestJdbcDriver}</redback.jdbc.driver.name>
             <ldapPort>${ldapPort}</ldapPort>
diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
index 73b0fb9..56cef7d 100644
--- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
+++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
@@ -38,7 +38,6 @@
 import org.apache.archiva.redback.policy.UserSecurityPolicy;
 import org.apache.archiva.redback.rbac.RBACManager;
 import org.apache.archiva.redback.rbac.RbacManagerException;
-import org.apache.archiva.redback.rbac.RbacObjectNotFoundException;
 import org.apache.archiva.redback.rbac.UserAssignment;
 import org.apache.archiva.redback.rest.api.model.ErrorMessage;
 import org.apache.archiva.redback.rest.api.model.Operation;
@@ -897,7 +896,7 @@
 
         try
         {
-            if ( !org.codehaus.plexus.util.StringUtils.isEmpty( user.getEmail() ) )
+            if ( !StringUtils.isEmpty( user.getEmail() ) )
             {
                 new InternetAddress( user.getEmail(), true );
             }
@@ -925,7 +924,7 @@
 
             securitySystem.getPolicy().validatePassword( tmpuser );
 
-            if ( ( org.codehaus.plexus.util.StringUtils.isEmpty( user.getPassword() ) ) )
+            if ( ( StringUtils.isEmpty( user.getPassword() ) ) )
             {
                 throw new RedbackServiceException( new ErrorMessage( "password.required", null ) );
             }
diff --git a/redback-users/redback-users-tests/pom.xml b/redback-users/redback-users-tests/pom.xml
index b65c8ae..12970bf 100644
--- a/redback-users/redback-users-tests/pom.xml
+++ b/redback-users/redback-users-tests/pom.xml
@@ -35,10 +35,6 @@
       <groupId>org.apache.archiva.redback</groupId>
       <artifactId>redback-policy</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-    </dependency>
 
     <dependency>
       <groupId>org.junit.platform</groupId>
