You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2019/08/10 21:55:02 UTC

[maven-integration-testing] branch MNG-6731 created (now 1c6e39a)

This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a change to branch MNG-6731
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git.


      at 1c6e39a  [MNG-6731] Jetty getLocalPort() returns -1 resulting in build failures

This branch includes the following new commits:

     new 1c6e39a  [MNG-6731] Jetty getLocalPort() returns -1 resulting in build failures

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-integration-testing] 01/01: [MNG-6731] Jetty getLocalPort() returns -1 resulting in build failures

Posted by ti...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch MNG-6731
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git

commit 1c6e39acdf07041d1f0eb95c43b26606482556db
Author: tibordigana <ti...@apache.org>
AuthorDate: Sat Aug 10 23:54:48 2019 +0200

    [MNG-6731] Jetty getLocalPort() returns -1 resulting in build failures
---
 core-it-suite/pom.xml                              |  33 +----
 .../test/java/org/apache/maven/it/HttpServer.java  |  13 +-
 .../org/apache/maven/it/IntegrationTestSuite.java  |   2 +
 .../it/MavenIT0146InstallerSnapshotNaming.java     |  22 ++-
 .../MavenITmng0553SettingsAuthzEncryptionTest.java |  50 +++----
 .../maven/it/MavenITmng0768OfflineModeTest.java    |  31 ++--
 .../it/MavenITmng2305MultipleProxiesTest.java      |  55 +++++---
 .../maven/it/MavenITmng2387InactiveProxyTest.java  |  35 ++---
 .../MavenITmng3415JunkRepositoryMetadataTest.java  |  22 ++-
 .../maven/it/MavenITmng3461MirrorMatchingTest.java |  29 ++--
 ...MavenITmng3599useHttpProxyForWebDAVMk2Test.java |  22 ++-
 .../MavenITmng3599useHttpProxyForWebDAVTest.java   |  23 ++-
 .../it/MavenITmng3652UserAgentHeaderTest.java      |  32 ++---
 .../MavenITmng3953AuthenticatedDeploymentTest.java |  55 ++++----
 .../it/MavenITmng4068AuthenticatedMirrorTest.java  |  50 +++----
 ...enITmng4235HttpAuthDeploymentChecksumsTest.java |  82 +++++------
 ...4326LocalSnapshotSuppressesRemoteCheckTest.java |  23 ++-
 ...venITmng4343MissingReleaseUpdatePolicyTest.java |  23 ++-
 ...ITmng4348NoUnnecessaryRepositoryAccessTest.java |  29 ++--
 .../maven/it/MavenITmng4360WebDavSupportTest.java  |  29 ++--
 ...avenITmng4413MirroringOfDependencyRepoTest.java |  45 +++---
 .../it/MavenITmng4428FollowHttpRedirectTest.java   |  66 +++++----
 ...469AuthenticatedDeploymentToCustomRepoTest.java |  55 ++++----
 ...Tmng4470AuthenticatedDeploymentToProxyTest.java |  63 +++++----
 ...MavenITmng4489MirroringOfExtensionRepoTest.java |  45 +++---
 ...Tmng4500NoUpdateOfTimestampedSnapshotsTest.java |  32 ++---
 ...avenITmng4554PluginPrefixMappingUpdateTest.java |  68 +++++----
 ...nITmng4555MetaversionResolutionOfflineTest.java |  23 ++-
 .../MavenITmng4561MirroringOfPluginRepoTest.java   |  45 +++---
 ...729MirrorProxyAuthUsedByProjectBuilderTest.java |  45 +++---
 ...refixResolutionDoesntTouchDisabledRepoTest.java |  30 ++--
 ...rsionResolutionDoesntTouchDisabledRepoTest.java |  30 ++--
 ...nITmng4781DeploymentToNexusStagingRepoTest.java |  33 ++---
 .../maven/it/MavenITmng4991NonProxyHostsTest.java  |  33 ++---
 .../MavenITmng5064SuppressSnapshotUpdatesTest.java |  32 ++---
 .../maven/it/MavenITmng5175WagonHttpTest.java      |  29 ++--
 ...g5280SettingsProfilesRepositoriesOrderTest.java |  50 +++----
 .../src/test/java/org/mortbay/log/StdErrLog.java   | 157 ---------------------
 38 files changed, 682 insertions(+), 859 deletions(-)

diff --git a/core-it-suite/pom.xml b/core-it-suite/pom.xml
index e1c484d..5b3536b 100644
--- a/core-it-suite/pom.xml
+++ b/core-it-suite/pom.xml
@@ -110,50 +110,27 @@ under the License.
       <!-- TODO: not transitive in tests artifact, so must be left in main 
         scope <scope>test</scope> -->
     </dependency>
-    <!-- Should be fine to introduce this here, even if we use the embedder 
-      as it should be using an isolated classloader Used to simplify tests that 
-      provide a test HTTP server. -->
     <dependency>
-      <groupId>org.mortbay.jetty</groupId>
-      <artifactId>jetty</artifactId>
-      <version>6.1.14</version>
-      <!-- TODO: not transitive in tests artifact, so must be left in main 
-        scope <scope>test</scope> -->
-      <exclusions>
-        <exclusion>
-          <artifactId>servlet-api-2.5</artifactId>
-          <groupId>org.mortbay.jetty</groupId>
-        </exclusion>
-      </exclusions>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-server</artifactId>
+      <version>${jetty9Version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-shared-utils</artifactId>
       <version>0.9</version>
     </dependency>
-
-    <!-- Jetty9 server for testing -->
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-server</artifactId>
-      <version>${jetty9Version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-security</artifactId>
+      <artifactId>jetty-util</artifactId>
       <version>${jetty9Version}</version>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
+      <artifactId>jetty-servlet</artifactId>
       <version>${jetty9Version}</version>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.jetty.orbit</groupId>
-      <artifactId>javax.servlet</artifactId>
-      <version>3.0.0.v201112011016</version>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <version>16.0</version>
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java b/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java
index 2f10b84..8d87dd5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java
@@ -5,6 +5,8 @@ import org.eclipse.jetty.security.ConstraintMapping;
 import org.eclipse.jetty.security.ConstraintSecurityHandler;
 import org.eclipse.jetty.security.HashLoginService;
 import org.eclipse.jetty.security.authentication.BasicAuthenticator;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.NetworkConnector;
 import org.eclipse.jetty.server.Request;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
@@ -66,21 +68,20 @@ public class HttpServer
 
     public int port()
     {
-        return ( (ServerConnector) server.getConnectors()[0] ).getLocalPort();
+        return ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
     }
 
     private Server server( int port )
     {
-
         QueuedThreadPool threadPool = new QueuedThreadPool();
         threadPool.setMaxThreads( 500 );
         Server server = new Server( threadPool );
+        server.setConnectors( new Connector[]{ new ServerConnector( server ) } );
         server.addBean( new ScheduledExecutorScheduler() );
 
-        ServerConnector http = new ServerConnector( server );
-        http.setPort( port );
-        http.setIdleTimeout( 30000 );
-        server.addConnector( http );
+        ServerConnector connector = (ServerConnector) server.getConnectors()[0];
+        connector.setIdleTimeout( 30_000L );
+        connector.setPort( port );
 
         StreamSourceHandler handler = new StreamSourceHandler( source );
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index f902976..0f262e8 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -162,6 +162,7 @@ public class IntegrationTestSuite
         suite.addTestSuite( MavenITmng5230MakeReactorWithExcludesTest.class );
         suite.addTestSuite( MavenITmng5224InjectedSettings.class );
         suite.addTestSuite( MavenITmng5214DontMapWsdlToJar.class );
+        suite.addTestSuite( MavenITmng5175WagonHttpTest.class );
         suite.addTestSuite( MavenITmng5137ReactorResolutionInForkedBuildTest.class );
         suite.addTestSuite( MavenITmng5135AggregatorDepResolutionModuleExtensionTest.class );
         suite.addTestSuite( MavenITmng5096ExclusionAtDependencyWithImpliedClassifierTest.class );
@@ -663,6 +664,7 @@ public class IntegrationTestSuite
         suite.addTestSuite( MavenITmng0249ResolveDepsFromReactorTest.class );
         suite.addTestSuite( MavenITmng0187CollectedProjectsTest.class );
         suite.addTestSuite( MavenITmng0095ReactorFailureBehaviorTest.class );
+        suite.addTestSuite( MavenIT0146InstallerSnapshotNaming.class );
         suite.addTestSuite( MavenIT0145ReactorWithIncludesExcludesTest.class );
         suite.addTestSuite( MavenIT0144LifecycleExecutionOrderTest.class );
         suite.addTestSuite( MavenIT0143TransitiveDependencyScopesTest.class );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0146InstallerSnapshotNaming.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0146InstallerSnapshotNaming.java
index 065064e..0d18182 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0146InstallerSnapshotNaming.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0146InstallerSnapshotNaming.java
@@ -20,11 +20,12 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
 
 import java.io.File;
 import java.io.IOException;
@@ -59,15 +60,11 @@ public class MavenIT0146InstallerSnapshotNaming
         server = new Server( 0 );
         server.setHandler( handlers );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
@@ -86,7 +83,6 @@ public class MavenIT0146InstallerSnapshotNaming
     public void testitRemoteDownloadTimestampedName()
         throws Exception
     {
-
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
 
         Properties properties = verifier.newDefaultFilterProperties();
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java
index 1dea9a0..6a0698c 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java
@@ -26,14 +26,21 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.util.security.Password;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-553">MNG-553</a>.
@@ -61,21 +68,21 @@ public class MavenITmng0553SettingsAuthzEncryptionTest
     {
         testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0553" );
 
-        Constraint constraint = new Constraint();
-        constraint.setName( Constraint.__BASIC_AUTH );
-        constraint.setRoles( new String[] { "user" } );
+        Constraint constraint = new Constraint( __BASIC_AUTH, "user" );
         constraint.setAuthenticate( true );
 
         ConstraintMapping constraintMapping = new ConstraintMapping();
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "user" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "user" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         ResourceHandler repoHandler = new ResourceHandler();
@@ -86,18 +93,13 @@ public class MavenITmng0553SettingsAuthzEncryptionTest
         handlerList.addHandler( repoHandler );
         handlerList.addHandler( new DefaultHandler() );
 
-        server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0768OfflineModeTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0768OfflineModeTest.java
index 45c4d03..26d3681 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0768OfflineModeTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0768OfflineModeTest.java
@@ -20,7 +20,14 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -29,14 +36,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-768">MNG-768</a>.
  * 
@@ -64,7 +63,8 @@ public class MavenITmng0768OfflineModeTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
@@ -103,17 +103,12 @@ public class MavenITmng0768OfflineModeTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
 
-            int port = server.getConnectors()[0].getLocalPort();
-            System.out.println( "Bound server socket to the port " + port );
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
 
             {
                 // phase 1: run build in online mode to fill local repo
@@ -176,6 +171,8 @@ public class MavenITmng0768OfflineModeTest
                 verifier.resetStreams();
             }
 
+            System.out.println( "Bound server socket to the port " + port );
+
             assertTrue( requestedUris.toString(), requestedUris.isEmpty() );
         }
         finally
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2305MultipleProxiesTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2305MultipleProxiesTest.java
index 59f2dc7..1cdc653 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2305MultipleProxiesTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2305MultipleProxiesTest.java
@@ -30,11 +30,18 @@ import java.util.Properties;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.HttpConfiguration;
+import org.eclipse.jetty.server.HttpConnectionFactory;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.SecureRequestCustomizer;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.server.SslConnectionFactory;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+
+import static org.eclipse.jetty.http.HttpVersion.HTTP_1_1;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-2305">MNG-2305</a>.
@@ -71,20 +78,16 @@ public class MavenITmng2305MultipleProxiesTest
         String keyPwd = "key-passwd";
 
         Server server = new Server( 0 );
-        server.addConnector( newHttpsConnector( storePath, storePwd, keyPwd ) );
+        addHttpsConnector( server, storePath, storePwd, keyPwd );
         server.setHandler( new RepoHandler() );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        int httpPort = server.getConnectors()[0].getLocalPort();
+        int httpPort = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to HTTP port " + httpPort );
-        int httpsPort = server.getConnectors()[1].getLocalPort();
+        int httpsPort = ( (NetworkConnector) server.getConnectors()[1] ).getLocalPort();
         System.out.println( "Bound server socket to HTTPS port " + httpsPort );
 
         TunnelingProxyServer proxy = new TunnelingProxyServer( 0, "localhost", httpsPort, "https.mngit:443" );
@@ -115,6 +118,7 @@ public class MavenITmng2305MultipleProxiesTest
         {
             proxy.stop();
             server.stop();
+            server.join();
         }
 
         List<String> cp = verifier.loadLines( "target/classpath.txt", "UTF-8" );
@@ -122,20 +126,25 @@ public class MavenITmng2305MultipleProxiesTest
         assertTrue( cp.toString(), cp.contains( "https-0.1.jar" ) );
     }
 
-    private Connector newHttpsConnector( String keystore, String storepwd, String keypwd )
+    private void addHttpsConnector( Server server, String keyStorePath, String keyStorePassword, String keyPassword )
     {
-        SslSocketConnector connector = new SslSocketConnector();
-        connector.setPort( 0 );
-        connector.setKeystore( keystore );
-        connector.setPassword( storepwd );
-        connector.setKeyPassword( keypwd );
-        return connector;
+        SslContextFactory sslContextFactory = new SslContextFactory( keyStorePath );
+        sslContextFactory.setKeyStorePassword( keyStorePassword );
+        sslContextFactory.setKeyManagerPassword( keyPassword );
+        HttpConfiguration httpConfiguration = new HttpConfiguration();
+        httpConfiguration.setSecureScheme( "https" );
+        HttpConfiguration httpsConfiguration = new HttpConfiguration( httpConfiguration );
+        httpsConfiguration.addCustomizer( new SecureRequestCustomizer() );
+        ServerConnector httpsConnector = new ServerConnector( server,
+                new SslConnectionFactory( sslContextFactory, HTTP_1_1.asString() ),
+                new HttpConnectionFactory( httpsConfiguration ) );
+        server.addConnector( httpsConnector );
     }
 
     static class RepoHandler extends AbstractHandler
     {
-
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+                            HttpServletResponse response )
             throws IOException
         {
             PrintWriter writer = response.getWriter();
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2387InactiveProxyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2387InactiveProxyTest.java
index 3548da1..e6d28cb 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2387InactiveProxyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2387InactiveProxyTest.java
@@ -19,17 +19,18 @@ package org.apache.maven.it;
  * under the License.
  */
 
+import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+
 import java.io.File;
 import java.net.InetAddress;
 import java.util.Properties;
 
-import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-2387">MNG-2387</a>.
  * 
@@ -69,15 +70,11 @@ public class MavenITmng2387InactiveProxyTest
         server = new Server( 0 );
         server.setHandler( handlers );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the HTTP port " + port );
 
         resourceHandler = new ResourceHandler();
@@ -89,15 +86,11 @@ public class MavenITmng2387InactiveProxyTest
         proxyServer = new Server( 0 );
         proxyServer.setHandler( handlers );
         proxyServer.start();
-        while ( !proxyServer.isRunning() || !proxyServer.isStarted() )
+        if ( proxyServer.isFailed() )
         {
-            if ( proxyServer.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        proxyPort = proxyServer.getConnectors()[0].getLocalPort();
+        proxyPort = ( (NetworkConnector) proxyServer.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the HTTPS port " + port );
     }
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3415JunkRepositoryMetadataTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3415JunkRepositoryMetadataTest.java
index 3c88611..a92e4c1 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3415JunkRepositoryMetadataTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3415JunkRepositoryMetadataTest.java
@@ -21,10 +21,11 @@ package org.apache.maven.it;
 
 import org.apache.maven.it.util.ResourceExtractor;
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -162,7 +163,8 @@ public class MavenITmng3415JunkRepositoryMetadataTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response )
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
 
@@ -180,16 +182,12 @@ public class MavenITmng3415JunkRepositoryMetadataTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
 
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
 
             Properties filterProps = verifier.newDefaultFilterProperties();
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3461MirrorMatchingTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3461MirrorMatchingTest.java
index dee4138..ffc6dc9 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3461MirrorMatchingTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3461MirrorMatchingTest.java
@@ -20,19 +20,18 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-3461">MNG-3461</a>.
  * 
@@ -84,7 +83,9 @@ public class MavenITmng3461MirrorMatchingTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
@@ -119,16 +120,12 @@ public class MavenITmng3461MirrorMatchingTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
 
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
 
             verifier.setAutoclean( false );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java
index ddc8d2d..3b65f86 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java
@@ -26,10 +26,11 @@ import javax.servlet.http.HttpServletResponse;
 import org.apache.maven.it.util.ResourceExtractor;
 import org.apache.maven.shared.utils.StringUtils;
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-3599">MNG-3599</a>.
@@ -67,7 +68,8 @@ public class MavenITmng3599useHttpProxyForWebDAVMk2Test
     {
         Handler handler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 System.out.println( "Got request for URL: '" + request.getRequestURL() + "'" );
@@ -113,15 +115,11 @@ public class MavenITmng3599useHttpProxyForWebDAVMk2Test
         server = new Server( 0 );
         server.setHandler( handler );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVTest.java
index 6b07295..42de235 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVTest.java
@@ -28,10 +28,11 @@ import javax.servlet.http.HttpServletResponse;
 import org.apache.maven.it.util.ResourceExtractor;
 import org.apache.maven.shared.utils.StringUtils;
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-3599">MNG-3599</a>.
@@ -69,7 +70,9 @@ public class MavenITmng3599useHttpProxyForWebDAVTest
     {
         Handler handler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 System.out.println( "Got request for URL: '" + request.getRequestURL() + "'" );
@@ -115,15 +118,11 @@ public class MavenITmng3599useHttpProxyForWebDAVTest
         server = new Server( 0 );
         server.setHandler( handler );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3652UserAgentHeaderTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3652UserAgentHeaderTest.java
index 04d23fd..bed88a2 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3652UserAgentHeaderTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3652UserAgentHeaderTest.java
@@ -19,18 +19,18 @@ package org.apache.maven.it;
  * under the License.
  */
 
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
-import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-3652">MNG-3652</a>.
@@ -59,7 +59,9 @@ public class MavenITmng3652UserAgentHeaderTest
     {
         Handler handler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 System.out.println( "Handling URL: '" + request.getRequestURL() + "'" );
@@ -82,15 +84,11 @@ public class MavenITmng3652UserAgentHeaderTest
         server = new Server( 0 );
         server.setHandler( handler );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3953AuthenticatedDeploymentTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3953AuthenticatedDeploymentTest.java
index 7979f45..fef5e6f 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3953AuthenticatedDeploymentTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3953AuthenticatedDeploymentTest.java
@@ -19,21 +19,27 @@ package org.apache.maven.it;
  * under the License.
  */
 
-import java.io.File;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 
-import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-3953">MNG-3953</a>.
@@ -61,7 +67,9 @@ public class MavenITmng3953AuthenticatedDeploymentTest
     {
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
 
@@ -88,30 +96,27 @@ public class MavenITmng3953AuthenticatedDeploymentTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "deployer" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "deployer" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         HandlerList handlerList = new HandlerList();
         handlerList.addHandler( securityHandler );
         handlerList.addHandler( repoHandler );
 
-        server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
         deployed = false;
     }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4068AuthenticatedMirrorTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4068AuthenticatedMirrorTest.java
index 08921fe..e5c8f2d 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4068AuthenticatedMirrorTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4068AuthenticatedMirrorTest.java
@@ -19,18 +19,25 @@ package org.apache.maven.it;
  * under the License.
  */
 
+import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
+
 import java.io.File;
 import java.util.Properties;
 
-import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4068">MNG-4068</a>.
@@ -57,8 +64,6 @@ public class MavenITmng4068AuthenticatedMirrorTest
     protected void setUp()
         throws Exception
     {
-        super.setUp();
-
         testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4068" );
 
         Constraint constraint = new Constraint();
@@ -70,12 +75,14 @@ public class MavenITmng4068AuthenticatedMirrorTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "user" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "user" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         ResourceHandler repoHandler = new ResourceHandler();
@@ -86,18 +93,13 @@ public class MavenITmng4068AuthenticatedMirrorTest
         handlerList.addHandler( repoHandler );
         handlerList.addHandler( new DefaultHandler() );
 
-        server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4235HttpAuthDeploymentChecksumsTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4235HttpAuthDeploymentChecksumsTest.java
index dfef093..9597d40 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4235HttpAuthDeploymentChecksumsTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4235HttpAuthDeploymentChecksumsTest.java
@@ -22,28 +22,34 @@ package org.apache.maven.it;
 import org.apache.maven.it.util.ResourceExtractor;
 import org.apache.maven.it.utils.DeployedResource;
 import org.codehaus.plexus.util.StringUtils;
-import org.mortbay.jetty.HttpMethods;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
-import org.mortbay.resource.Resource;
-import org.mortbay.util.IO;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.resource.Resource;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.List;
+import java.nio.file.Files;
+import java.util.Deque;
 import java.util.Properties;
+import java.util.concurrent.ConcurrentLinkedDeque;
+
+import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4235">MNG-4235</a>.
@@ -84,13 +90,14 @@ public class MavenITmng4235HttpAuthDeploymentChecksumsTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testpass" );
-        userRealm.addUserToRole( "testuser", "deployer" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testpass" ), new String[] { "deployer" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
-        securityHandler.setConstraintMappings( new ConstraintMapping[]{ constraintMapping } );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
+        securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         HandlerList handlerList = new HandlerList();
         handlerList.addHandler( securityHandler );
@@ -100,15 +107,11 @@ public class MavenITmng4235HttpAuthDeploymentChecksumsTest
         server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
@@ -176,18 +179,18 @@ public class MavenITmng4235HttpAuthDeploymentChecksumsTest
                     expectedHash.equalsIgnoreCase( actualHash ) );
     }
 
-
-    public static class RepoHandler
-        extends ResourceHandler
+    private static class RepoHandler
+            extends ResourceHandler
     {
-        List<DeployedResource> deployedResources = new ArrayList<>();
+        private final Deque<DeployedResource> deployedResources = new ConcurrentLinkedDeque<>();
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+        @Override
+        public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
             throws IOException, ServletException
         {
             System.out.println( request.getMethod() + " " + request.getRequestURI() );
 
-            if ( HttpMethods.PUT.equals( request.getMethod() ) )
+            if ( "PUT".equals( request.getMethod() ) )
             {
                 Resource resource = getResource( request );
 
@@ -198,12 +201,7 @@ public class MavenITmng4235HttpAuthDeploymentChecksumsTest
                     dir.mkdirs();
                 }
 
-                request.getContentLength();
-
-                try ( OutputStream os = resource.getOutputStream() )
-                {
-                    IO.copy( request.getInputStream(), os );
-                }
+                Files.copy( request.getInputStream(), resource.getFile().toPath(), REPLACE_EXISTING );
 
                 DeployedResource deployedResource = new DeployedResource();
 
@@ -220,10 +218,8 @@ public class MavenITmng4235HttpAuthDeploymentChecksumsTest
             }
             else
             {
-                super.handle( target, request, response, dispatch );
+                super.handle( target, baseRequest, request, response );
             }
         }
     }
-
-
 }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4326LocalSnapshotSuppressesRemoteCheckTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4326LocalSnapshotSuppressesRemoteCheckTest.java
index 0a45c7f..8c21c95 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4326LocalSnapshotSuppressesRemoteCheckTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4326LocalSnapshotSuppressesRemoteCheckTest.java
@@ -20,10 +20,11 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -72,7 +73,9 @@ public class MavenITmng4326LocalSnapshotSuppressesRemoteCheckTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 PrintWriter writer = response.getWriter();
@@ -135,15 +138,11 @@ public class MavenITmng4326LocalSnapshotSuppressesRemoteCheckTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             // test 1: resolve snapshot, just built local copy should suppress daily remote update check
             verifier = newVerifier( new File( testDir, "test" ).getAbsolutePath() );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4343MissingReleaseUpdatePolicyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4343MissingReleaseUpdatePolicyTest.java
index 2c42a64..8505a8c 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4343MissingReleaseUpdatePolicyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4343MissingReleaseUpdatePolicyTest.java
@@ -32,10 +32,11 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.hamcrest.CoreMatchers;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 import static org.hamcrest.CoreMatchers.hasItem;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -68,7 +69,9 @@ public class MavenITmng4343MissingReleaseUpdatePolicyTest
     {
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
@@ -114,15 +117,11 @@ public class MavenITmng4343MissingReleaseUpdatePolicyTest
         server = new Server( 0 );
         server.setHandler( repoHandler );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
         requestedUris = new ConcurrentLinkedDeque<>();
     }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4348NoUnnecessaryRepositoryAccessTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4348NoUnnecessaryRepositoryAccessTest.java
index 6eccf87..5e5d57d 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4348NoUnnecessaryRepositoryAccessTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4348NoUnnecessaryRepositoryAccessTest.java
@@ -20,21 +20,20 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4348">MNG-4348</a>.
  * 
@@ -65,7 +64,9 @@ public class MavenITmng4348NoUnnecessaryRepositoryAccessTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
 
@@ -87,15 +88,11 @@ public class MavenITmng4348NoUnnecessaryRepositoryAccessTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteArtifacts( "org.apache.maven.its.mng4348" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4360WebDavSupportTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4360WebDavSupportTest.java
index 2c0539a..b800314 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4360WebDavSupportTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4360WebDavSupportTest.java
@@ -20,21 +20,20 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4360">MNG-4360</a>.
  * 
@@ -81,7 +80,9 @@ public class MavenITmng4360WebDavSupportTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
@@ -118,15 +119,11 @@ public class MavenITmng4360WebDavSupportTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteArtifacts( "org.apache.maven.its.mng4360" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4413MirroringOfDependencyRepoTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4413MirroringOfDependencyRepoTest.java
index 85532d1..2a5d48f 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4413MirroringOfDependencyRepoTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4413MirroringOfDependencyRepoTest.java
@@ -20,18 +20,24 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import java.io.File;
 import java.util.Properties;
 
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4413">MNG-4413</a>.
@@ -65,12 +71,14 @@ public class MavenITmng4413MirroringOfDependencyRepoTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "user" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "user" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        Server server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         ResourceHandler repoHandler = new ResourceHandler();
@@ -81,21 +89,16 @@ public class MavenITmng4413MirroringOfDependencyRepoTest
         handlerList.addHandler( repoHandler );
         handlerList.addHandler( new DefaultHandler() );
 
-        Server server = new Server( 0 );
         server.setHandler( handlerList );
 
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             Verifier verifier = newVerifier( testDir.getAbsolutePath() );
             verifier.setAutoclean( false );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4428FollowHttpRedirectTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4428FollowHttpRedirectTest.java
index 0c1dd44..455f8fd 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4428FollowHttpRedirectTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4428FollowHttpRedirectTest.java
@@ -20,21 +20,27 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.HttpConfiguration;
+import org.eclipse.jetty.server.HttpConnectionFactory;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.SecureRequestCustomizer;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.server.SslConnectionFactory;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.security.SslSocketConnector;
+import static org.eclipse.jetty.http.HttpVersion.HTTP_1_1;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4428">MNG-4428</a>.
@@ -124,28 +130,25 @@ public class MavenITmng4428FollowHttpRedirectTest
         String keyPwd = "key-passwd";
 
         Server server = new Server( 0 );
-        server.addConnector( newHttpsConnector( storePath, storePwd, keyPwd ) );
+        addHttpsConnector( server, storePath, storePwd, keyPwd );
         Connector from = server.getConnectors()[ fromHttp ? 0 : 1 ];
         Connector to = server.getConnectors()[ toHttp ? 0 : 1 ];
-        server.setHandler( new RedirectHandler( toHttp ? "http" : "https", relativeLocation ? null : to ) );
+        server.setHandler(
+                new RedirectHandler( toHttp ? "http" : "https", relativeLocation ? null : (NetworkConnector) to ) );
 
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
             verifier.setAutoclean( false );
             verifier.deleteArtifacts( "org.apache.maven.its.mng4428" );
             verifier.deleteDirectory( "target" );
             Properties filterProps = verifier.newDefaultFilterProperties();
             filterProps.setProperty( "@protocol@", fromHttp ? "http" : "https" );
-            filterProps.setProperty( "@port@", Integer.toString( from.getLocalPort() ) );
+            filterProps.setProperty( "@port@", Integer.toString( ( (NetworkConnector) from ).getLocalPort() ) );
             verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
             verifier.addCliOption( "-X --settings" );
             verifier.addCliOption( "settings.xml" );
@@ -166,30 +169,35 @@ public class MavenITmng4428FollowHttpRedirectTest
         assertTrue( cp.toString(), cp.contains( "dep-0.1.jar" ) );
     }
 
-    private Connector newHttpsConnector( String keystore, String storepwd, String keypwd )
+    private void addHttpsConnector( Server server, String keyStorePath, String keyStorePassword, String keyPassword )
     {
-        SslSocketConnector connector = new SslSocketConnector();
-        connector.setPort( 0 );
-        connector.setKeystore( keystore );
-        connector.setPassword( storepwd );
-        connector.setKeyPassword( keypwd );
-        return connector;
+        SslContextFactory sslContextFactory = new SslContextFactory( keyStorePath );
+        sslContextFactory.setKeyStorePassword( keyStorePassword );
+        sslContextFactory.setKeyManagerPassword( keyPassword );
+        HttpConfiguration httpConfiguration = new HttpConfiguration();
+        httpConfiguration.setSecureScheme( "https" );
+        HttpConfiguration httpsConfiguration = new HttpConfiguration( httpConfiguration );
+        httpsConfiguration.addCustomizer( new SecureRequestCustomizer() );
+        ServerConnector httpsConnector = new ServerConnector( server,
+                new SslConnectionFactory( sslContextFactory, HTTP_1_1.asString() ),
+                new HttpConnectionFactory( httpsConfiguration ) );
+        server.addConnector( httpsConnector );
     }
 
     static class RedirectHandler extends AbstractHandler
     {
-
         private final String protocol;
 
-        private final Connector connector;
+        private final NetworkConnector connector;
 
-        RedirectHandler( String protocol, Connector connector )
+        RedirectHandler( String protocol, NetworkConnector connector )
         {
             this.protocol = protocol;
             this.connector = connector;
         }
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+                            HttpServletResponse response )
             throws IOException
         {
             System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
@@ -236,7 +244,5 @@ public class MavenITmng4428FollowHttpRedirectTest
 
             ( (Request) request ).setHandled( true );
         }
-
     }
-
 }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4469AuthenticatedDeploymentToCustomRepoTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4469AuthenticatedDeploymentToCustomRepoTest.java
index 7524912..04a43af 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4469AuthenticatedDeploymentToCustomRepoTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4469AuthenticatedDeploymentToCustomRepoTest.java
@@ -19,21 +19,27 @@ package org.apache.maven.it;
  * under the License.
  */
 
-import java.io.File;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 
-import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4469">MNG-4469</a>.
@@ -61,7 +67,9 @@ public class MavenITmng4469AuthenticatedDeploymentToCustomRepoTest
     {
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
 
@@ -88,30 +96,27 @@ public class MavenITmng4469AuthenticatedDeploymentToCustomRepoTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "deployer" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "deployer" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         HandlerList handlerList = new HandlerList();
         handlerList.addHandler( securityHandler );
         handlerList.addHandler( repoHandler );
 
-        server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
         deployed = false;
     }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4470AuthenticatedDeploymentToProxyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4470AuthenticatedDeploymentToProxyTest.java
index 90e5f66..b974601 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4470AuthenticatedDeploymentToProxyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4470AuthenticatedDeploymentToProxyTest.java
@@ -22,24 +22,32 @@ package org.apache.maven.it;
 import org.apache.maven.it.util.ResourceExtractor;
 import org.apache.maven.it.utils.DeployedResource;
 import org.codehaus.plexus.util.StringUtils;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.security.B64Code;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.B64Code;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.File;
+import java.nio.charset.StandardCharsets;
 import java.util.Collections;
 import java.util.Deque;
 import java.util.concurrent.ConcurrentLinkedDeque;
 
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
+
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4470">MNG-4470</a>.
  *
@@ -68,7 +76,9 @@ public class MavenITmng4470AuthenticatedDeploymentToProxyTest
     {
         Handler proxyHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
 
@@ -76,7 +86,7 @@ public class MavenITmng4470AuthenticatedDeploymentToProxyTest
                 if ( auth != null )
                 {
                     auth = auth.substring( auth.indexOf( ' ' ) + 1 ).trim();
-                    auth = B64Code.decode( auth );
+                    auth = B64Code.decode( auth, StandardCharsets.US_ASCII.name() );
                 }
                 System.out.println( "Proxy-Authorization: " + auth );
 
@@ -100,7 +110,9 @@ public class MavenITmng4470AuthenticatedDeploymentToProxyTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
 
@@ -136,31 +148,28 @@ public class MavenITmng4470AuthenticatedDeploymentToProxyTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "deployer" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "deployer" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
-        securityHandler.setConstraintMappings( new ConstraintMapping[]{ constraintMapping } );
+        server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
+        securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         HandlerList handlerList = new HandlerList();
         handlerList.addHandler( proxyHandler );
         handlerList.addHandler( securityHandler );
         handlerList.addHandler( repoHandler );
 
-        server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
         deployed = false;
     }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4489MirroringOfExtensionRepoTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4489MirroringOfExtensionRepoTest.java
index 37aeb00..4829c26 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4489MirroringOfExtensionRepoTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4489MirroringOfExtensionRepoTest.java
@@ -20,18 +20,24 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import java.io.File;
 import java.util.Properties;
 
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4489">MNG-4489</a>.
@@ -65,12 +71,14 @@ public class MavenITmng4489MirroringOfExtensionRepoTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "user" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "user" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        Server server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         ResourceHandler repoHandler = new ResourceHandler();
@@ -81,21 +89,16 @@ public class MavenITmng4489MirroringOfExtensionRepoTest
         handlerList.addHandler( repoHandler );
         handlerList.addHandler( new DefaultHandler() );
 
-        Server server = new Server( 0 );
         server.setHandler( handlerList );
 
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             Verifier verifier = newVerifier( testDir.getAbsolutePath() );
             verifier.setAutoclean( false );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4500NoUpdateOfTimestampedSnapshotsTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4500NoUpdateOfTimestampedSnapshotsTest.java
index 0759d05..25d9e44 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4500NoUpdateOfTimestampedSnapshotsTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4500NoUpdateOfTimestampedSnapshotsTest.java
@@ -20,22 +20,22 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4500">MNG-4500</a>.
  * 
@@ -66,7 +66,9 @@ public class MavenITmng4500NoUpdateOfTimestampedSnapshotsTest
 
         AbstractHandler logHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 requestedUris.add( request.getRequestURI() );
             }
@@ -87,15 +89,11 @@ public class MavenITmng4500NoUpdateOfTimestampedSnapshotsTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4554PluginPrefixMappingUpdateTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4554PluginPrefixMappingUpdateTest.java
index 282fcaf..0f22d93 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4554PluginPrefixMappingUpdateTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4554PluginPrefixMappingUpdateTest.java
@@ -19,6 +19,18 @@ package org.apache.maven.it;
  * under the License.
  */
 
+import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.shared.utils.io.FileUtils;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -26,17 +38,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.maven.it.util.ResourceExtractor;
-import org.apache.maven.shared.utils.io.FileUtils;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4554">MNG-4554</a>.
  * 
@@ -66,7 +67,9 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
 
         AbstractHandler logHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 requestedUris.add( request.getRequestURI() );
             }
@@ -87,13 +90,9 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
@@ -107,7 +106,8 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
                 assertFalse( new File( verifier.getArtifactMetadataPath( "org.apache.maven.its.mng4554", null, null, "maven-metadata-mng4554.xml" ) ).exists() );
             }
             Properties filterProps = verifier.newDefaultFilterProperties();
-            filterProps.setProperty( "@port@", Integer.toString( server.getConnectors()[0].getLocalPort() ) );
+            NetworkConnector connector = (NetworkConnector) server.getConnectors()[0];
+            filterProps.setProperty( "@port@", Integer.toString( connector.getLocalPort() ) );
             filterProps.setProperty( "@repo@", "repo-1" );
             verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
             verifier.addCliOption( "-s" );
@@ -151,7 +151,9 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
 
         AbstractHandler logHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 requestedUris.add( request.getRequestURI() );
             }
@@ -172,13 +174,9 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
@@ -192,7 +190,8 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
                 assertFalse( new File( verifier.getArtifactMetadataPath( "org.apache.maven.its.mng4554", null, null, "maven-metadata-mng4554.xml" ) ).exists() );
             }
             Properties filterProps = verifier.newDefaultFilterProperties();
-            filterProps.setProperty( "@port@", Integer.toString( server.getConnectors()[0].getLocalPort() ) );
+            NetworkConnector connector = (NetworkConnector) server.getConnectors()[0];
+            filterProps.setProperty( "@port@", Integer.toString( connector.getLocalPort() ) );
             filterProps.setProperty( "@repo@", "repo-1" );
             verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
             verifier.addCliOption( "-U" );
@@ -239,7 +238,9 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
 
         AbstractHandler logHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 requestedUris.add( request.getRequestURI() );
             }
@@ -260,13 +261,9 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
@@ -280,7 +277,8 @@ public class MavenITmng4554PluginPrefixMappingUpdateTest
                 assertFalse( new File( verifier.getArtifactMetadataPath( "org.apache.maven.its.mng4554", null, null, "maven-metadata-mng4554.xml" ) ).exists() );
             }
             Properties filterProps = verifier.newDefaultFilterProperties();
-            filterProps.setProperty( "@port@", Integer.toString( server.getConnectors()[0].getLocalPort() ) );
+            NetworkConnector connector = (NetworkConnector) server.getConnectors()[0];
+            filterProps.setProperty( "@port@", Integer.toString( connector.getLocalPort() ) );
             filterProps.setProperty( "@repo@", "repo-it" );
             verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
             verifier.addCliOption( "-s" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4555MetaversionResolutionOfflineTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4555MetaversionResolutionOfflineTest.java
index 6eae399..f995dd0 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4555MetaversionResolutionOfflineTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4555MetaversionResolutionOfflineTest.java
@@ -20,10 +20,11 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -58,7 +59,9 @@ public class MavenITmng4555MetaversionResolutionOfflineTest
 
         Handler repoHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 String uri = request.getRequestURI();
 
@@ -82,15 +85,11 @@ public class MavenITmng4555MetaversionResolutionOfflineTest
         verifier.deleteArtifacts( "org.apache.maven.its.mng4555" );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             Properties filterProps = verifier.newDefaultFilterProperties();
             filterProps.setProperty( "@port@", Integer.toString( port ) );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4561MirroringOfPluginRepoTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4561MirroringOfPluginRepoTest.java
index b530f85..cb57ee5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4561MirroringOfPluginRepoTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4561MirroringOfPluginRepoTest.java
@@ -20,18 +20,24 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import java.io.File;
 import java.util.Properties;
 
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4561">MNG-4561</a>.
@@ -65,12 +71,14 @@ public class MavenITmng4561MirroringOfPluginRepoTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "user" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "user" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        Server server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         ResourceHandler repoHandler = new ResourceHandler();
@@ -81,22 +89,17 @@ public class MavenITmng4561MirroringOfPluginRepoTest
         handlerList.addHandler( repoHandler );
         handlerList.addHandler( new DefaultHandler() );
 
-        Server server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
 
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4729MirrorProxyAuthUsedByProjectBuilderTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4729MirrorProxyAuthUsedByProjectBuilderTest.java
index 061f243..f6d4b67 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4729MirrorProxyAuthUsedByProjectBuilderTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4729MirrorProxyAuthUsedByProjectBuilderTest.java
@@ -20,18 +20,24 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
 
 import java.io.File;
 import java.util.Properties;
 
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SECURITY;
+import static org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS;
+import static org.eclipse.jetty.util.security.Constraint.__BASIC_AUTH;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4729">MNG-4729</a>.
@@ -65,12 +71,14 @@ public class MavenITmng4729MirrorProxyAuthUsedByProjectBuilderTest
         constraintMapping.setConstraint( constraint );
         constraintMapping.setPathSpec( "/*" );
 
-        HashUserRealm userRealm = new HashUserRealm( "TestRealm" );
-        userRealm.put( "testuser", "testtest" );
-        userRealm.addUserToRole( "testuser", "user" );
+        HashLoginService userRealm = new HashLoginService( "TestRealm" );
+        userRealm.putUser( "testuser", new Password( "testtest" ), new String[] { "user" } );
 
-        SecurityHandler securityHandler = new SecurityHandler();
-        securityHandler.setUserRealm( userRealm );
+        Server server = new Server( 0 );
+        ServletContextHandler ctx = new ServletContextHandler( server, "/", SESSIONS | SECURITY );
+        ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) ctx.getSecurityHandler();
+        securityHandler.setLoginService( userRealm );
+        securityHandler.setAuthMethod( __BASIC_AUTH );
         securityHandler.setConstraintMappings( new ConstraintMapping[] { constraintMapping } );
 
         ResourceHandler repoHandler = new ResourceHandler();
@@ -81,22 +89,17 @@ public class MavenITmng4729MirrorProxyAuthUsedByProjectBuilderTest
         handlerList.addHandler( repoHandler );
         handlerList.addHandler( new DefaultHandler() );
 
-        Server server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
 
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4771PluginPrefixResolutionDoesntTouchDisabledRepoTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4771PluginPrefixResolutionDoesntTouchDisabledRepoTest.java
index 9dff77b..56b5d90 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4771PluginPrefixResolutionDoesntTouchDisabledRepoTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4771PluginPrefixResolutionDoesntTouchDisabledRepoTest.java
@@ -20,20 +20,20 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.util.Deque;
 import java.util.Properties;
 import java.util.concurrent.ConcurrentLinkedDeque;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4771">MNG-4771</a>.
  * 
@@ -61,7 +61,9 @@ public class MavenITmng4771PluginPrefixResolutionDoesntTouchDisabledRepoTest
 
         AbstractHandler logHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 requestedUris.add( request.getRequestURI() );
             }
@@ -78,15 +80,11 @@ public class MavenITmng4771PluginPrefixResolutionDoesntTouchDisabledRepoTest
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4772PluginVersionResolutionDoesntTouchDisabledRepoTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4772PluginVersionResolutionDoesntTouchDisabledRepoTest.java
index eac97f0..82390a1 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4772PluginVersionResolutionDoesntTouchDisabledRepoTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4772PluginVersionResolutionDoesntTouchDisabledRepoTest.java
@@ -20,21 +20,21 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4772">MNG-4772</a>.
  * 
@@ -62,7 +62,9 @@ public class MavenITmng4772PluginVersionResolutionDoesntTouchDisabledRepoTest
 
         AbstractHandler logHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 requestedUris.add( request.getRequestURI() );
             }
@@ -79,15 +81,11 @@ public class MavenITmng4772PluginVersionResolutionDoesntTouchDisabledRepoTest
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4781DeploymentToNexusStagingRepoTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4781DeploymentToNexusStagingRepoTest.java
index 07bad02..8783ab5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4781DeploymentToNexusStagingRepoTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4781DeploymentToNexusStagingRepoTest.java
@@ -19,19 +19,19 @@ package org.apache.maven.it;
  * under the License.
  */
 
-import java.io.File;
-import java.util.Deque;
-import java.util.concurrent.ConcurrentLinkedDeque;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
-import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.HandlerList;
+import java.io.File;
+import java.util.Deque;
+import java.util.concurrent.ConcurrentLinkedDeque;
 
 import static org.hamcrest.CoreMatchers.hasItem;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -64,7 +64,8 @@ public class MavenITmng4781DeploymentToNexusStagingRepoTest
         {
             private volatile boolean putSeen;
 
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response )
             {
                 System.out.println( "Handling " + request.getMethod() + " " + request.getRequestURL() );
 
@@ -94,15 +95,11 @@ public class MavenITmng4781DeploymentToNexusStagingRepoTest
         server = new Server( 0 );
         server.setHandler( handlerList );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4991NonProxyHostsTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4991NonProxyHostsTest.java
index 29e2a92..64d89d5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4991NonProxyHostsTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4991NonProxyHostsTest.java
@@ -20,11 +20,12 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
 
 import java.io.File;
 import java.net.InetAddress;
@@ -73,31 +74,25 @@ public class MavenITmng4991NonProxyHostsTest
         try
         {
             server.start();
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
 
             proxy.start();
-            while ( !proxy.isRunning() || !proxy.isStarted() )
+            if ( proxy.isFailed() )
             {
-                if ( proxy.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
 
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
             verifier.deleteArtifacts( "org.apache.maven.its.mng4991" );
             Properties filterProps = verifier.newDefaultFilterProperties();
-            filterProps.setProperty( "@port@", Integer.toString( server.getConnectors()[0].getLocalPort() ) );
-            filterProps.setProperty( "@proxyPort@", Integer.toString( proxy.getConnectors()[0].getLocalPort() ) );
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
+            filterProps.setProperty( "@port@", Integer.toString( port ) );
+            int proxyPort = ( (NetworkConnector) proxy.getConnectors()[0] ).getLocalPort();
+            filterProps.setProperty( "@proxyPort@", Integer.toString( proxyPort ) );
             filterProps.setProperty( "@localhost@", InetAddress.getLocalHost().getCanonicalHostName() );
             verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", filterProps );
             verifier.addCliOption( "-s" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5064SuppressSnapshotUpdatesTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5064SuppressSnapshotUpdatesTest.java
index add81ea..e71b851 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5064SuppressSnapshotUpdatesTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5064SuppressSnapshotUpdatesTest.java
@@ -20,22 +20,22 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.ResourceHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-5064">MNG-5064</a>.
  * 
@@ -65,7 +65,9 @@ public class MavenITmng5064SuppressSnapshotUpdatesTest
 
         AbstractHandler logHandler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
             {
                 if ( request.getRequestURI().startsWith( "/repo/" ) )
                 {
@@ -89,15 +91,11 @@ public class MavenITmng5064SuppressSnapshotUpdatesTest
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         try
         {
-            while ( !server.isRunning() || !server.isStarted() )
+            if ( server.isFailed() )
             {
-                if ( server.isFailed() )
-                {
-                    fail( "Couldn't bind the server socket to a free port!" );
-                }
-                Thread.sleep( 100L );
+                fail( "Couldn't bind the server socket to a free port!" );
             }
-            int port = server.getConnectors()[0].getLocalPort();
+            int port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
             System.out.println( "Bound server socket to the port " + port );
             verifier.setAutoclean( false );
             verifier.deleteDirectory( "target" );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java
index cac5380..45a615e 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java
@@ -20,10 +20,11 @@ package org.apache.maven.it;
  */
 
 import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -56,7 +57,9 @@ public class MavenITmng5175WagonHttpTest
     {
         Handler handler = new AbstractHandler()
         {
-            public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+            @Override
+            public void handle( String target, Request baseRequest, HttpServletRequest request,
+                                HttpServletResponse response )
                 throws IOException, ServletException
             {
                 try
@@ -79,15 +82,11 @@ public class MavenITmng5175WagonHttpTest
         server = new Server( 0 );
         server.setHandler( handler );
         server.start();
-        while ( !server.isRunning() || !server.isStarted() )
+        if ( server.isFailed() )
         {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
+            fail( "Couldn't bind the server socket to a free port!" );
         }
-        port = server.getConnectors()[0].getLocalPort();
+        port = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
         System.out.println( "Bound server socket to the port " + port );
     }
 
@@ -121,9 +120,13 @@ public class MavenITmng5175WagonHttpTest
         verifier.addCliOption( "-U" );
         verifier.addCliOption( "--settings" );
         verifier.addCliOption( "settings.xml" );
-        //verifier.
+        verifier.addCliOption( "--fail-never" );
+        verifier.addCliOption( "--errors" );
+        verifier.setMavenDebug( true );
         verifier.executeGoal( "validate" );
 
+        verifier.verifyTextInLog(
+                "Could not transfer artifact org.apache.maven.its.mng5175:fake-dependency:pom:1.0-SNAPSHOT" );
         verifier.verifyTextInLog( "Read timed out" );
         verifier.resetStreams();
     }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5280SettingsProfilesRepositoriesOrderTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5280SettingsProfilesRepositoriesOrderTest.java
index cc9539b..bc6cd94 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5280SettingsProfilesRepositoriesOrderTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5280SettingsProfilesRepositoriesOrderTest.java
@@ -19,6 +19,14 @@ package org.apache.maven.it;
  * under the License.
  */
 
+import org.apache.maven.it.util.ResourceExtractor;
+import org.eclipse.jetty.server.NetworkConnector;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -27,14 +35,6 @@ import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.util.Properties;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.maven.it.util.ResourceExtractor;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-5280">MNG-5280</a>.
  * 
@@ -47,8 +47,6 @@ public class MavenITmng5280SettingsProfilesRepositoriesOrderTest
 
     private Server server;
 
-    private int httpPort;
-
     public MavenITmng5280SettingsProfilesRepositoriesOrderTest()
     {
         super( "[3.1-A,)" );
@@ -59,19 +57,7 @@ public class MavenITmng5280SettingsProfilesRepositoriesOrderTest
         throws Exception
     {
         testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5280" );
-
         server = new Server( 0 );
-        server.start();
-        while ( !server.isRunning() || !server.isStarted() )
-        {
-            if ( server.isFailed() )
-            {
-                fail( "Couldn't bind the server socket to a free port!" );
-            }
-            Thread.sleep( 100L );
-        }
-        httpPort = server.getConnectors()[0].getLocalPort();
-        System.out.println( "Bound server socket to the port " + httpPort );
     }
 
     @Override
@@ -93,6 +79,13 @@ public class MavenITmng5280SettingsProfilesRepositoriesOrderTest
     {
         RepoHandler repoHandler = new RepoHandler();
         server.setHandler( repoHandler );
+        server.start();
+        if ( server.isFailed() )
+        {
+            fail( "Couldn't bind the server socket to a free port!" );
+        }
+        int httpPort = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
+        System.out.println( "Bound server socket to the port " + httpPort );
 
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
 
@@ -120,6 +113,13 @@ public class MavenITmng5280SettingsProfilesRepositoriesOrderTest
     {
         PluginRepoHandler pluginRepoHandler = new PluginRepoHandler();
         server.setHandler( pluginRepoHandler );
+        server.start();
+        if ( server.isFailed() )
+        {
+            fail( "Couldn't bind the server socket to a free port!" );
+        }
+        int httpPort = ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
+        System.out.println( "Bound server socket to the port " + httpPort );
 
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
 
@@ -145,7 +145,8 @@ public class MavenITmng5280SettingsProfilesRepositoriesOrderTest
 
         private volatile boolean artifactRequestedFromRepo2;
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+                            HttpServletResponse response )
             throws IOException
         {
             String uri = request.getRequestURI();
@@ -202,7 +203,8 @@ public class MavenITmng5280SettingsProfilesRepositoriesOrderTest
 
         private volatile boolean pluginRequestedFromRepo2;
 
-        public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
+        public void handle( String target, Request baseRequest, HttpServletRequest request,
+                            HttpServletResponse response )
             throws IOException
         {
             String uri = request.getRequestURI();
diff --git a/core-it-suite/src/test/java/org/mortbay/log/StdErrLog.java b/core-it-suite/src/test/java/org/mortbay/log/StdErrLog.java
deleted file mode 100644
index 903fd12..0000000
--- a/core-it-suite/src/test/java/org/mortbay/log/StdErrLog.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.mortbay.log;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.PrintStream;
-
-/**
- * A modified version of the original Jetty logger which treats info level the same as debug level. This is merely meant
- * as a cosmetic tweak to reduce the log noise from Jetty on the console during our tests.
- * 
- * @author Benjamin Bentmann
- * @version $Id$
- */
-public class StdErrLog
-    implements Logger
-{
-
-    private static boolean debug = System.getProperty( "DEBUG" ) != null;
-
-    private String name;
-
-    private boolean hideStacks;
-
-    private PrintStream out = System.err;
-
-    private static final String PREFIX = "[JETTY] ";
-
-    public StdErrLog()
-    {
-        this( null );
-    }
-
-    public StdErrLog( String name )
-    {
-        this.name = ( name == null ) ? "" : name;
-    }
-
-    public boolean isDebugEnabled()
-    {
-        return debug;
-    }
-
-    public void setDebugEnabled( boolean enabled )
-    {
-        debug = enabled;
-    }
-
-    public boolean isHideStacks()
-    {
-        return hideStacks;
-    }
-
-    public void setHideStacks( boolean hideStacks )
-    {
-        this.hideStacks = hideStacks;
-    }
-
-    public void debug( String msg, Throwable th )
-    {
-        if ( debug )
-        {
-            this.out.println( PREFIX + msg );
-            if ( th != null )
-            {
-                if ( hideStacks )
-                    this.out.println( th );
-                else
-                    th.printStackTrace( this.out );
-            }
-        }
-    }
-
-    public void debug( String msg, Object arg0, Object arg1 )
-    {
-        if ( debug )
-        {
-            this.out.println( PREFIX + format( msg, arg0, arg1 ) );
-        }
-    }
-
-    public void info( String msg, Object arg0, Object arg1 )
-    {
-        if ( debug )
-        {
-            this.out.println( PREFIX + format( msg, arg0, arg1 ) );
-        }
-    }
-
-    public void warn( String msg, Object arg0, Object arg1 )
-    {
-        this.out.println( PREFIX + format( msg, arg0, arg1 ) );
-    }
-
-    public void warn( String msg, Throwable th )
-    {
-        this.out.println( PREFIX + msg );
-        if ( th != null )
-        {
-            if ( this.hideStacks )
-            {
-                this.out.println( th );
-            }
-            else
-            {
-                th.printStackTrace( this.out );
-            }
-        }
-    }
-
-    private String format( String msg, Object arg0, Object arg1 )
-    {
-        int i0 = msg.indexOf( "{}" );
-        int i1 = i0 < 0 ? -1 : msg.indexOf( "{}", i0 + 2 );
-
-        if ( arg1 != null && i1 >= 0 )
-        {
-            msg = msg.substring( 0, i1 ) + arg1 + msg.substring( i1 + 2 );
-        }
-        if ( arg0 != null && i0 >= 0 )
-        {
-            msg = msg.substring( 0, i0 ) + arg0 + msg.substring( i0 + 2 );
-        }
-        return msg;
-    }
-
-    public Logger getLogger( String name )
-    {
-        if ( ( name == null && this.name == null ) || ( name != null && name.equals( this.name ) ) )
-        {
-            return this;
-        }
-        return new StdErrLog( name );
-    }
-
-    public String toString()
-    {
-        return "STDERR" + this.name;
-    }
-
-}