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 2022/04/06 11:43:39 UTC

[maven-surefire] 01/01: [SUREFIRE-2060] JDK 18 support

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

tibordigana pushed a commit to branch release/2.22.3
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git

commit 4ce1433c484d268e0c17604a071ad43d27de9e47
Author: tibordigana <ti...@apache.org>
AuthorDate: Fri Apr 1 23:42:15 2022 +0200

    [SUREFIRE-2060] JDK 18 support
---
 Jenkinsfile                                        |  6 +--
 README.md                                          |  4 +-
 .../src/it/jetty-war-test-failing/pom.xml          |  9 ++++
 .../src/it/jetty-war-test-passing/pom.xml          |  9 ++++
 .../src/it/multiple-summaries-failing/pom.xml      |  4 +-
 .../src/it/multiple-summaries/pom.xml              |  4 +-
 .../src/it/working-directory/pom.xml               |  4 +-
 .../src/site/apt/examples/cucumber.apt.vm          |  8 +--
 pom.xml                                            |  3 +-
 .../maven/surefire/its/AbstractJigsawIT.java       | 39 ++++++++------
 .../its/CheckTestNgListenerReporterIT.java         | 22 +++++---
 .../maven/surefire/its/CheckTestNgVersionsIT.java  | 59 +++++++++-------------
 .../its/JUnit47RerunFailingTestWithCucumberIT.java |  4 +-
 .../maven/surefire/its/JUnit47WithCucumberIT.java  | 20 +++-----
 .../apache/maven/surefire/its/Java9FullApiIT.java  | 26 ++++------
 .../maven/surefire/its/fixture/MavenLauncher.java  | 16 ++----
 .../surefire/its/fixture/SurefireLauncher.java     |  2 +
 .../test/resources/environment-variables/pom.xml   |  4 +-
 .../src/test/resources/failingBuilds/pom.xml       |  4 +-
 .../src/test/resources/failsafe-notests/pom.xml    |  4 +-
 .../test/resources/failure-result-counting/pom.xml |  4 +-
 .../src/test/resources/failureOutput/pom.xml       |  4 +-
 .../src/test/resources/fork-consoleOutput/pom.xml  |  4 +-
 .../resources/fork-consoleOutputWithErrors/pom.xml |  4 +-
 surefire-its/src/test/resources/fork-fail/pom.xml  |  4 +-
 .../test/resources/fork-mode-multimodule/pom.xml   |  4 +-
 .../resources/fork-mode-resource-loading/pom.xml   |  4 +-
 .../src/test/resources/fork-mode-testng/pom.xml    |  4 +-
 surefire-its/src/test/resources/fork-mode/pom.xml  |  4 +-
 .../src/test/resources/fork-timeout/pom.xml        |  4 +-
 .../resources/includes-excludes-from-file/pom.xml  |  4 +-
 .../src/test/resources/includes-excludes/pom.xml   |  4 +-
 .../test/resources/isolated-classloader/pom.xml    |  4 +-
 .../src/test/resources/java9-full-api/pom.xml      |  2 +-
 .../java9-full-api/src/test/java/J9IT.java         |  2 +-
 .../java9-full-api/src/test/java/J9Test.java       |  2 +-
 .../test/resources/junit-fork-mode-always/pom.xml  |  4 +-
 .../src/test/resources/junit-ignore/pom.xml        |  4 +-
 .../src/test/resources/junit-innerClass/pom.xml    |  4 +-
 .../resources/junit-notExtendingTestCase/pom.xml   |  4 +-
 .../test/resources/junit-pathWithUmlaut/pom.xml    |  4 +-
 .../test/resources/junit-twoTestCaseSuite/pom.xml  |  4 +-
 .../src/test/resources/junit-twoTestCases/pom.xml  |  4 +-
 .../resources/junit4-forkAlways-staticInit/pom.xml |  4 +-
 .../resources/junit4-rerun-failing-tests/pom.xml   |  4 +-
 .../src/test/resources/junit4-runlistener/pom.xml  |  4 +-
 .../test/resources/junit4-twoTestCaseSuite/pom.xml |  4 +-
 .../src/test/resources/junit44-dep/pom.xml         |  4 +-
 .../src/test/resources/junit44-environment/pom.xml |  4 +-
 .../src/test/resources/junit44-hamcrest/pom.xml    |  4 +-
 .../test/resources/junit44-method-pattern/pom.xml  |  4 +-
 .../test/resources/junit44-single-method/pom.xml   |  4 +-
 .../src/test/resources/junit47-cucumber/pom.xml    | 14 ++---
 .../org/sample/cucumber/FailingCucumberTest.java   |  5 +-
 .../test/java/org/sample/cucumber/StepDefs.java    |  6 +--
 .../org/sample/cucumber/SuccessCucumberTest.java   |  5 +-
 .../resources/junit47-parallel-with-suite/pom.xml  |  4 +-
 .../test/resources/junit47-redirect-output/pom.xml |  4 +-
 .../pom.xml                                        | 13 +++--
 .../org/sample/cucumber/FlakeCucumberTest.java     |  3 +-
 .../test/java/org/sample/cucumber/StepDefs.java    |  6 +--
 .../junit47-static-inner-class-tests/pom.xml       |  4 +-
 .../src/test/resources/junit48-categories/pom.xml  |  4 +-
 .../test/resources/junit48-smartStackTrace/pom.xml |  4 +-
 .../src/test/resources/norunnableTests/pom.xml     |  4 +-
 .../src/test/resources/parallel-runtime/pom.xml    |  4 +-
 .../resources/plain-old-java-classpath/pom.xml     |  4 +-
 .../src/test/resources/plexus-conflict/pom.xml     |  4 +-
 .../src/test/resources/pojo-simple/pom.xml         |  4 +-
 surefire-its/src/test/resources/pom.xml            |  4 +-
 surefire-its/src/test/resources/reporters/pom.xml  |  4 +-
 .../src/test/resources/result-counting/pom.xml     |  4 +-
 surefire-its/src/test/resources/runOrder/pom.xml   |  4 +-
 .../src/test/resources/runorder-parallel/pom.xml   |  4 +-
 surefire-its/src/test/resources/settings.xml       | 29 -----------
 .../sibling-aggregator/aggregator/pom.xml          |  4 +-
 .../resources/sibling-aggregator/child1/pom.xml    |  4 +-
 .../resources/sibling-aggregator/child2/pom.xml    |  4 +-
 .../test/resources/small-result-counting/pom.xml   |  4 +-
 .../jiras-surefire-1024-testjar/pom.xml            |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-1122-parallel-and-flakyTests/pom.xml  |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-1202-rerun-and-failfast/pom.xml       |  4 +-
 .../surefire-1209-rerun-and-forkcount/pom.xml      |  4 +-
 .../surefire-1278-group-name-ending/pom.xml        |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-141-pluggableproviders/pom.xml        |  4 +-
 .../surefire-146-forkPerTestNoSetup/pom.xml        |  4 +-
 .../surefire-1535-parallel-testng/pom.xml          |  4 +-
 .../resources/surefire-162-charsetProvider/pom.xml |  4 +-
 .../surefire-224-wellFormedXmlFailures/pom.xml     |  4 +-
 .../resources/surefire-257-rerunningTests/pom.xml  |  4 +-
 .../surefire-260-testWithIdenticalNames/pom.xml    |  4 +-
 .../surefire-34-securityManager-success/pom.xml    |  4 +-
 .../resources/surefire-34-securityManager/pom.xml  |  4 +-
 .../surefire-408-manual-provider-selection/pom.xml |  4 +-
 .../resources/surefire-500-puzzling-error/pom.xml  |  4 +-
 .../resources/surefire-510-testClassPath/pom.xml   |  4 +-
 .../surefire-570-multipleReportDirectories/pom.xml |  4 +-
 .../surefire-613-testCount-in-parallel/pom.xml     |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-634-systemPropertiesWarning/pom.xml   |  4 +-
 .../test/resources/surefire-673-mockito/pom.xml    | 20 +++++++-
 .../surefire-674-buildFailingWhenErrors/pom.xml    |  4 +-
 .../surefire-685-commaseparatedIncludes/pom.xml    |  4 +-
 .../resources/surefire-697-niceSummary/pom.xml     |  4 +-
 .../surefire-733-allOverridesCaptured/pom.xml      |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-806-specifiedTests-multi/pom.xml      |  4 +-
 .../surefire-806-specifiedTests-single/pom.xml     |  4 +-
 .../surefire-809-groupExpr-junit48/pom.xml         |  4 +-
 .../surefire-809-groupExpr-testng/pom.xml          |  4 +-
 .../surefire-812-log4j-classloader/pom.xml         |  4 +-
 .../surefire-818-ignored-tests-on-npe/pom.xml      |  4 +-
 .../surefire-828-emptyGroupExpr-junit48/pom.xml    |  4 +-
 .../surefire-828-emptyGroupExpr-testng/pom.xml     |  4 +-
 .../surefire-832-provider-selection/pom.xml        |  4 +-
 .../test/resources/surefire-847-testngfail/pom.xml |  4 +-
 .../surefire-855-failsafe-use-war/pom.xml          |  2 +-
 .../surefire-930-failsafe-runtests/pom.xml         |  4 +-
 .../surefire-931-provider-failure/pom.xml          |  4 +-
 .../resources/surefire-943-report-content/pom.xml  |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-946-self-destruct-plugin/pom.xml      |  4 +-
 .../surefire-972-bizarre-noclassdef/pom.xml        |  4 +-
 .../resources/surefire-975-wrong-encoding/pom.xml  |  4 +-
 .../module1/pom.xml                                |  4 +-
 .../module2/pom.xml                                |  4 +-
 .../pom.xml                                        |  4 +-
 .../src/test/resources/system-properties/pom.xml   |  4 +-
 .../resources/test-helper-dump-pid-plugin/pom.xml  |  4 +-
 .../resources/testng-afterSuiteFailure/pom.xml     |  4 +-
 .../src/test/resources/testng-beforeMethod/pom.xml |  4 +-
 .../resources/testng-beforeMethodFailure/pom.xml   |  4 +-
 .../test/resources/testng-execute-error/pom.xml    |  4 +-
 .../src/test/resources/testng-groups/pom.xml       |  4 +-
 .../src/test/resources/testng-jdk14/pom.xml        |  4 +-
 .../test/resources/testng-junit-together/pom.xml   |  4 +-
 .../resources/testng-listener-reporter/pom.xml     |  4 +-
 .../resources/testng-method-pattern-after/pom.xml  |  4 +-
 .../resources/testng-method-pattern-before/pom.xml |  4 +-
 .../test/resources/testng-method-pattern/pom.xml   |  4 +-
 .../testng-parallel-with-annotations/pom.xml       |  4 +-
 .../test/resources/testng-path with spaces/pom.xml |  4 +-
 .../src/test/resources/testng-simple/pom.xml       |  4 +-
 .../resources/testng-single-method-5-14-9/pom.xml  |  4 +-
 .../test/resources/testng-single-method/pom.xml    |  4 +-
 .../src/test/resources/testng-suite-xml/pom.xml    |  4 +-
 .../test/resources/testng-twoTestCaseSuite/pom.xml |  4 +-
 .../src/test/resources/timeout-forked/pom.xml      |  4 +-
 .../src/test/resources/unicode-testnames/pom.xml   |  4 +-
 .../working-directory-is-invalid-property/pom.xml  |  4 +-
 .../resources/working-directory-missing/pom.xml    |  4 +-
 .../src/test/resources/working-directory/pom.xml   |  4 +-
 160 files changed, 431 insertions(+), 437 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index c97ac910a..d20109078 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -31,8 +31,8 @@ properties(
 )
 
 final def oses = ['linux':'ubuntu', 'windows':'windows-he']
-final def mavens = env.BRANCH_NAME == 'master' ? ['3.2.x', '3.5.x'] : ['3.5.x']
-final def jdks = [7, 8, 11]
+final def mavens = env.BRANCH_NAME == 'master' ? ['3.2.x', '3.8.x'] : ['3.8.x']
+final def jdks = [7, 8, 11, 18]
 
 final def options = ['-e', '-V', '-B', '-nsu', '-P', 'run-its']
 final def goals = ['clean', 'install', 'jacoco:report']
@@ -71,7 +71,7 @@ oses.eachWithIndex { osMapping, indexOfOs ->
                         def boolean makeReports = os == 'linux' && indexOfMaven == mavens.size() - 1 && jdk == 9
                         def failsafeItPort = 8000 + 100 * indexOfMaven + 10 * indexOfJdk
                         def allOptions = options + ["-Dfailsafe-integration-test-port=${failsafeItPort}", "-Dfailsafe-integration-test-stop-port=${1 + failsafeItPort}"]
-                        if (jdk == 11) {
+                        if (jdk > 11) {
                             allOptions += ['-DskipUnitTests=true']
                         }
                         buildProcess(stageKey, jdkName, jdkTestName, mvnName, goals, allOptions, mavenOpts, makeReports)
diff --git a/README.md b/README.md
index 1fc54582e..ddb1f63cd 100644
--- a/README.md
+++ b/README.md
@@ -34,9 +34,9 @@ But in order to run IT tests, you can do:
   **(on Linux/Unix)** *export MAVEN_OPTS="-server -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Dhttps.protocols=TLSv1"*  
   **(on Windows)** *set MAVEN_OPTS="-server -Xmx256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Dhttps.protocols=TLSv1"*    
 * In order to run the build with **JDK 9** **on Windows** (**on Linux/Unix modify system property jdk.home**):  
-  *mvn install site site:stage -P reporting,run-its "-Djdk.home=e:\Program Files\Java\jdk9\"*
+  *mvn install site site:stage -P reporting,run-its "-Djdk.home=/path/to/jdk9"*
 * In order to run the build with **JDK 10** disable JaCoCo due to a [bug in JaCoCo](https://github.com/jacoco/jacoco/issues/629)
-  *mvn install site site:stage -P reporting,run-its -Djacoco.skip=true "-Djdk.home=e:\Program Files\Java\jdk10\"*
+  *mvn install site site:stage -P reporting,run-its -Djacoco.skip=true "-Djdk.home=/path/to/jdk10"*
   
 ### Deploying web site
 
diff --git a/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml b/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml
index 193791db9..79d2619b0 100644
--- a/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml
+++ b/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml
@@ -63,6 +63,15 @@
         <directory>${basedir}/src/test/resources</directory>
       </testResource>
     </testResources>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>3.3.2</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
       <plugin>
         <groupId>org.eclipse.jetty</groupId>
diff --git a/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml b/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml
index 31dc8ec57..7e33bfd9f 100644
--- a/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml
+++ b/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml
@@ -63,6 +63,15 @@
         <directory>${basedir}/src/test/resources</directory>
       </testResource>
     </testResources>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>3.3.2</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
       <plugin>
         <groupId>org.eclipse.jetty</groupId>
diff --git a/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml b/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml
index aedbdde80..af2df652e 100644
--- a/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml
+++ b/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml
@@ -27,8 +27,8 @@
   <name>Run tests multiple times</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml b/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml
index d87409f76..2c508f34d 100644
--- a/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml
+++ b/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml
@@ -27,8 +27,8 @@
   <name>Run tests multiple times</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/maven-failsafe-plugin/src/it/working-directory/pom.xml b/maven-failsafe-plugin/src/it/working-directory/pom.xml
index 6cf2bc58a..22d50341e 100644
--- a/maven-failsafe-plugin/src/it/working-directory/pom.xml
+++ b/maven-failsafe-plugin/src/it/working-directory/pom.xml
@@ -27,8 +27,8 @@
   <name>Run tests in a nonexistent working directory</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm b/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm
index e0436cc28..e211be5ee 100644
--- a/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm
+++ b/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm
@@ -54,8 +54,8 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.CucumberOptions;
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
 public class RunCucumberTest
@@ -71,8 +71,8 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.CucumberOptions;
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
 public class RunCucumberIT
diff --git a/pom.xml b/pom.xml
index c00ce262f..696894788 100644
--- a/pom.xml
+++ b/pom.xml
@@ -458,6 +458,7 @@
           <artifactId>maven-surefire-plugin</artifactId>
           <version>2.12.4</version> <!-- ${shadedVersion}, but resolved due to https://issues.apache.org/jira/browse/MRELEASE-799 -->
           <configuration>
+            <skipTests>${skipUnitTests}</skipTests>
             <!-- NOTE: Be sure to isolate the Surefire version under test from the version running the tests! -->
             <useSystemClassLoader>false</useSystemClassLoader>
             <argLine>${jvm.args.tests} ${jacoco.agent} -Dnet.bytebuddy.experimental=true</argLine>
@@ -486,7 +487,7 @@
         <plugin>
           <groupId>org.jacoco</groupId>
           <artifactId>jacoco-maven-plugin</artifactId>
-          <version>0.8.2</version>
+          <version>0.8.7</version>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
index 66953011c..891079628 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
@@ -29,6 +29,7 @@ import java.io.InputStream;
 import java.util.Properties;
 import java.util.StringTokenizer;
 
+import static java.lang.Double.parseDouble;
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME;
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME_KEY;
 import static org.junit.Assert.fail;
@@ -50,7 +51,7 @@ public abstract class AbstractJigsawIT
     protected SurefireLauncher assumeJigsaw() throws IOException
     {
         assumeTrue( "There's no JDK 9 provided.",
-                          isJavaVersion9AtLeast() || EXT_JDK_HOME != null && isExtJavaVerion9AtLeast() );
+                          isJavaVersion9AtLeast() || EXT_JDK_HOME != null && isExtJavaVersion9AtLeast() );
         // fail( EXT_JDK_HOME_KEY + " was provided with value " + EXT_JDK_HOME + " but it is not Jigsaw Java 9." );
 
         SurefireLauncher launcher = unpack();
@@ -60,21 +61,11 @@ public abstract class AbstractJigsawIT
 
     protected SurefireLauncher assumeJava9Property() throws IOException
     {
-        assumeTrue( "There's no JDK 9 provided.", EXT_JDK_HOME != null && isExtJavaVerion9AtLeast() );
+        assumeTrue( "There's no JDK 9 provided.", EXT_JDK_HOME != null && isExtJavaVersion9AtLeast() );
         return unpack();
     }
 
-    private SurefireLauncher unpack()
-    {
-        return unpack( getProjectDirectoryName() );
-    }
-
-    private static boolean isJavaVersion9AtLeast()
-    {
-        return Double.valueOf( System.getProperty( "java.specification.version" ) ) >= JIGSAW_JAVA_VERSION;
-    }
-
-    private static boolean isExtJavaVerion9AtLeast() throws IOException
+    protected static String extractExternalJavaVersion() throws IOException
     {
         File release = new File( EXT_JDK_HOME, "release" );
         assumeTrue( EXT_JDK_HOME_KEY + " was provided with value " + EXT_JDK_HOME + " but file does not exist "
@@ -93,13 +84,31 @@ public abstract class AbstractJigsawIT
         }
         else if ( versions.countTokens() >= 2 )
         {
-            javaVersion = versions.nextToken() + "." + versions.nextToken();
+            String v1 = versions.nextToken();
+            String v2 = versions.nextToken();
+            javaVersion = v1.equals( "1" ) ? v1 + "." + v2 : v1;
         }
         else
         {
             fail( "unexpected java version format" );
         }
+        return javaVersion;
+    }
+
+    private SurefireLauncher unpack()
+    {
+        return unpack( getProjectDirectoryName() );
+    }
+
+    private static boolean isJavaVersion9AtLeast()
+    {
+        return parseDouble( System.getProperty( "java.specification.version" ) ) >= JIGSAW_JAVA_VERSION;
+    }
+
+    private static boolean isExtJavaVersion9AtLeast() throws IOException
+    {
+        String javaVersion = extractExternalJavaVersion();
 
-        return Double.valueOf( javaVersion ) >= JIGSAW_JAVA_VERSION;
+        return parseDouble( javaVersion ) >= JIGSAW_JAVA_VERSION;
     }
 }
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java
index 2c618d083..7004f223c 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java
@@ -19,15 +19,16 @@ package org.apache.maven.surefire.its;
  * under the License.
  */
 
+import java.util.Arrays;
+import java.util.Collection;
+
 import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
 import org.apache.maven.surefire.its.fixture.SurefireLauncher;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.Arrays;
-import java.util.Collection;
-
+import static org.apache.maven.surefire.its.fixture.HelperAssertions.assumeJavaMaxVersion;
 import static org.apache.maven.surefire.its.fixture.HelperAssertions.assumeJavaVersion;
 import static org.junit.runners.Parameterized.Parameter;
 import static org.junit.runners.Parameterized.Parameters;
@@ -71,8 +72,9 @@ public class CheckTestNgListenerReporterIT
             { "5.14.6", null, 1.5d }, // Usage of org.testng:guice removed
             { "5.14.9", null, 1.5d }, // Latest 5.14.x TestNG version
             { "6.0", null, 1.5d },
-            { "6.9.9", null, 1.7d } // Currently latest TestNG version
-        });
+            { "6.14.3", null, 1.7d },
+            { "7.5", null, 1.8d } // Currently latest TestNG version
+        } );
     }
 
     @Parameter
@@ -88,6 +90,14 @@ public class CheckTestNgListenerReporterIT
     public void testNgListenerReporter()
     {
         assumeJavaVersion( javaVersion );
+
+        if ( version.equals( "5.13" ) )
+        {
+            // only 5.13 uses Google Guice, reflection which breaks jdk 16+
+            // module java.base does not "opens java.lang" to unnamed module @209c0b14
+            assumeJavaMaxVersion( 15 );
+        }
+
         final SurefireLauncher launcher = unpack( "testng-listener-reporter", "_" + version )
                                                   .sysProp( "testNgVersion", version );
 
@@ -97,7 +107,7 @@ public class CheckTestNgListenerReporterIT
         }
 
         launcher.executeTest()
-                .verifyErrorFree( 1 )
+                .assertTestSuiteResults( 1, 0, 0, 0 )
                 .getTargetFile( "resultlistener-output.txt" ).assertFileExists()
                 .getTargetFile( "suitelistener-output.txt" ).assertFileExists()
                 .getTargetFile( "reporter-output.txt" ).assertFileExists();
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
index 6d2bbfa21..8cd91fdeb 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
@@ -29,6 +29,7 @@ import org.apache.maven.surefire.its.fixture.SurefireLauncher;
 import org.junit.Ignore;
 import org.junit.Test;
 
+import static org.apache.maven.surefire.its.fixture.HelperAssertions.assumeJavaMaxVersion;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
@@ -45,151 +46,125 @@ public class CheckTestNgVersionsIT
 {
 
     @Test public void test47()
-        throws Exception
     {
         runTestNgTest( "4.7", "jdk15" );
     }
 
-    @Test @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" ) public void XXXtest50()
-        throws Exception
+    @Test
+    @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" )
+    public void test50()
     {
         runTestNgTest( "5.0", "jdk15" );
     }
 
-    @Test @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" ) public void XXXtest501()
-        throws Exception
+    @Test
+    @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" )
+    public void test501()
     {
         runTestNgTest( "5.0.1", "jdk15" );
     }
 
     @Test public void test502()
-        throws Exception
     {
         runTestNgTest( "5.0.2", "jdk15" );
     }
 
     @Test public void test51()
-        throws Exception
     {
         runTestNgTest( "5.1", "jdk15" );
     }
 
     @Test public void test55()
-        throws Exception
     {
         runTestNgTest( "5.5", "jdk15" );
     }
 
     @Test public void test56()
-        throws Exception
     {
         runTestNgTest( "5.6", "jdk15" );
     }
 
     @Test public void test57()
-        throws Exception
     {
         runTestNgTest( "5.7", "jdk15" );
     }
 
     @Test public void test58()
-        throws Exception
     {
         runTestNgTest( "5.8", "jdk15" );
     }
 
     @Test public void test59()
-        throws Exception
     {
         runTestNgTest( "5.9", "jdk15" );
     }
 
     @Test public void test510()
-        throws Exception
     {
         runTestNgTest( "5.10", "jdk15" );
     }
 
     @Test public void test511()
-        throws Exception
     {
         runTestNgTest( "5.11", "jdk15" );
     }
 
     @Test public void test512()
-        throws Exception
     {
         runTestNgTest( "5.12.1" );
     }
 
     @Test public void test513()
-        throws Exception
     {
         runTestNgTest( "5.13" );
     }
 
     @Test public void test5131()
-        throws Exception
     {
         runTestNgTest( "5.13.1" );
     }
 
     @Test public void test514()
-        throws Exception
     {
         runTestNgTest( "5.14" );
     }
 
     @Test public void test5141()
-        throws Exception
     {
         runTestNgTest( "5.14.1" );
     }
 
     @Test public void test5142()
-        throws Exception
     {
         runTestNgTest( "5.14.2" );
     }
 
     @Test public void test60()
-        throws Exception
     {
         runTestNgTest( "6.0" );
     }
 
     @Test public void test685()
-        throws Exception
     {
         runTestNgTestWithRunOrder( "6.8.5" );
     }
 
     private void runTestNgTestWithRunOrder( String version )
-        throws Exception
     {
         runTestNgTest( version, null, true );
     }
 
     private void runTestNgTest( String version )
-            throws Exception
     {
         runTestNgTest( version, null, false );
     }
 
-    private void runTestNgTest( String version, boolean validateRunOrder )
-            throws Exception
-    {
-        runTestNgTest( version, null, validateRunOrder );
-    }
-
     private void runTestNgTest( String version, String classifier )
-        throws Exception
     {
         runTestNgTest( version, classifier, false );
     }
 
     private void runTestNgTest( String version, String classifier, boolean validateRunOrder )
-        throws Exception
     {
         final SurefireLauncher launcher = unpack( "testng-simple" )
                                             .sysProp( "testNgVersion", version );
@@ -199,6 +174,15 @@ public class CheckTestNgVersionsIT
             launcher.sysProp( "testNgClassifier", classifier );
         }
 
+        if ( version.startsWith( "5.12" ) || version.startsWith( "5.13" ) || version.startsWith( "5.14" ) )
+        {
+            // TestNG 5.12 - 5.14 uses Guava lib ang CGLib with reflective access.
+            // WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.ReflectUtils$2
+            // (testng-5.12.1.jar) to method
+            // java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
+            assumeJavaMaxVersion( 15 );
+        }
+
         final OutputValidator outputValidator = launcher.executeTest();
 
         outputValidator.verifyErrorFreeLog().assertTestSuiteResults( 3, 0, 0, 0 );
@@ -210,9 +194,14 @@ public class CheckTestNgVersionsIT
 
             assertEquals( 3, report.size() );
 
-            assertTrue( "TestNGSuiteTestC was executed first", getTestClass( report, 0 ).endsWith( "TestNGSuiteTestC" ) );
-            assertTrue( "TestNGSuiteTestB was executed second", getTestClass( report, 1 ).endsWith( "TestNGSuiteTestB" ) );
-            assertTrue( "TestNGSuiteTestA was executed last", getTestClass( report, 2 ).endsWith( "TestNGSuiteTestA" ) );
+            assertTrue( "TestNGSuiteTestC was executed first",
+                    getTestClass( report, 0 ).endsWith( "TestNGSuiteTestC" ) );
+
+            assertTrue( "TestNGSuiteTestB was executed second",
+                    getTestClass( report, 1 ).endsWith( "TestNGSuiteTestB" ) );
+
+            assertTrue( "TestNGSuiteTestA was executed last",
+                    getTestClass( report, 2 ).endsWith( "TestNGSuiteTestA" ) );
         }
     }
 
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java
index 9fe17755d..006a5b964 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java
@@ -38,8 +38,8 @@ public class JUnit47RerunFailingTestWithCucumberIT
     extends SurefireJUnit4IntegrationTestCase {
 
     @Before
-    public void assumeJdk17() {
-        assumeJavaVersion(1.7d);
+    public void assumeJava8Plus() {
+        assumeJavaVersion(1.8d);
     }
 
 
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java
index 38c2eae83..e01a34bb1 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java
@@ -38,33 +38,29 @@ public class JUnit47WithCucumberIT
 {
 
     @Before
-    public void assumeJdk16()
+    public void assumeJava8Plus()
     {
-        assumeJavaVersion( 1.6d );
+        assumeJavaVersion( 1.8d );
     }
 
     @Test
     public void testWithoutParallel()
     {
-        // 8 tests in total is what's probably correct
-        doTest( "none", 8 );
+        doTest( "none" );
     }
 
     @Test
     public void testWithParallelClasses()
     {
-        // with parallel=classes, we get 9 tests in total,
-        // as the dummy "scenario" test entry is reported twice: once as success, and once with the failure from the
-        // failing test step
-        doTest( "classes", 9 );
+        doTest( "classes" );
     }
 
-    private void doTest( String parallel, int total )
+    private void doTest( String parallel )
     {
         unpack( "junit47-cucumber" )
-                .sysProp( "parallel", parallel )
-                .sysProp( "threadCount", "2" )
+                .parallel( parallel )
+                .threadCount( 2 )
                 .executeTest()
-                .assertTestSuiteResults( total, 0, 2, 0 );
+                .assertTestSuiteResults( 2, 0, 1, 0 );
     }
 }
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java
index ec9a68881..1dde3b17b 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java
@@ -19,15 +19,14 @@ package org.apache.maven.surefire.its;
  * under the License.
  */
 
+import java.io.File;
+
 import org.apache.maven.surefire.its.fixture.OutputValidator;
 import org.junit.Test;
 
-import java.io.File;
-
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME;
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME_KEY;
-import static org.hamcrest.Matchers.anyOf;
-import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.is;
 
 /**
@@ -50,15 +49,13 @@ public class Java9FullApiIT
                                             .execute( "verify" )
                                             .verifyErrorFree( 1 );
 
+        String jVersion = extractExternalJavaVersion();
         validator.verifyTextInLog( "loaded class java.sql.SQLException" )
                 .verifyTextInLog( "loaded class javax.xml.ws.Holder" )
                 .verifyTextInLog( "loaded class javax.xml.bind.JAXBException" )
                 .verifyTextInLog( "loaded class javax.transaction.TransactionManager" )
                 .verifyTextInLog( "loaded class javax.transaction.InvalidTransactionException" )
-                .assertThatLogLine( anyOf( is( "java.specification.version=9" ),
-                                           is( "java.specification.version=10" ),
-                                           is( "java.specification.version=11" ) ),
-                                    greaterThanOrEqualTo( 1 ) );
+                .assertThatLogLine( containsString( "java.specification.version is " + jVersion ), is( 2 ) );
     }
 
     @Test
@@ -71,15 +68,13 @@ public class Java9FullApiIT
                                             .execute( "verify" )
                                             .verifyErrorFree( 1 );
 
+        String jVersion = extractExternalJavaVersion();
         validator.verifyTextInLog( "loaded class java.sql.SQLException" )
                 .verifyTextInLog( "loaded class javax.xml.ws.Holder" )
                 .verifyTextInLog( "loaded class javax.xml.bind.JAXBException" )
                 .verifyTextInLog( "loaded class javax.transaction.TransactionManager" )
                 .verifyTextInLog( "loaded class javax.transaction.InvalidTransactionException" )
-                .assertThatLogLine( anyOf( is( "java.specification.version=9" ),
-                                           is( "java.specification.version=10" ),
-                                           is( "java.specification.version=11" ) ),
-                                    greaterThanOrEqualTo( 1 ) );
+                .assertThatLogLine( containsString( "java.specification.version is " + jVersion ), is( 2 ) );
     }
 
     @Test
@@ -87,21 +82,20 @@ public class Java9FullApiIT
     {
         OutputValidator validator = assumeJava9Property()
                                             .setForkJvm()
+                                            .debugLogging()
                                             .activateProfile( "use-toolchains" )
                                             .addGoal( "--toolchains" )
                                             .addGoal( System.getProperty( "maven.toolchains.file" ) )
                                             .execute( "verify" )
                                             .verifyErrorFree( 1 );
 
+        String jVersion = System.getProperty( "java.specification.version" );
         validator.verifyTextInLog( "loaded class java.sql.SQLException" )
                 .verifyTextInLog( "loaded class javax.xml.ws.Holder" )
                 .verifyTextInLog( "loaded class javax.xml.bind.JAXBException" )
                 .verifyTextInLog( "loaded class javax.transaction.TransactionManager" )
                 .verifyTextInLog( "loaded class javax.transaction.InvalidTransactionException" )
-                .assertThatLogLine( anyOf( is( "java.specification.version=9" ),
-                                           is( "java.specification.version=10" ),
-                                           is( "java.specification.version=11" ) ),
-                                    greaterThanOrEqualTo( 1 ) );
+                .assertThatLogLine( containsString( "java.specification.version is " + jVersion ), is( 2 ) );
     }
 
     @Override
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
index 1cbfb6bbe..eb6cf0182 100755
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
@@ -160,8 +160,10 @@ public final class MavenLauncher
     public OutputValidator getSubProjectValidator( String subProject )
         throws VerificationException
     {
-        final File subFile = getValidator().getSubFile( subProject );
-        return new OutputValidator( new Verifier( subFile.getAbsolutePath() ) );
+        File subFile = getValidator().getSubFile( subProject );
+        Verifier subProjectVerifier = new Verifier( subFile.getAbsolutePath() );
+        subProjectVerifier.setLocalRepo( System.getProperty( "localRepository" ) );
+        return new OutputValidator( subProjectVerifier );
     }
 
     public MavenLauncher addEnvVar( String key, String value )
@@ -292,17 +294,10 @@ public final class MavenLauncher
     {
         try
         {
-            File generatedSettings = new File( System.getProperty( "maven.settings.file" ) ).getCanonicalFile();
-            String generatedSettingsPath = generatedSettings.getAbsolutePath();
-            addCliOption( "-s " + generatedSettingsPath );
             getVerifier().setCliOptions( cliOptions );
             getVerifier().executeGoals( goals, envvars );
             return getValidator();
         }
-        catch ( IOException e )
-        {
-            throw new SurefireVerifierException( e.getLocalizedMessage(), e );
-        }
         catch ( VerificationException e )
         {
             throw new SurefireVerifierException( e.getLocalizedMessage(), e );
@@ -390,8 +385,7 @@ public final class MavenLauncher
                     ? new Verifier( ensureUnpacked().getAbsolutePath(), null, false )
                     : new Verifier( ensureUnpacked().getAbsolutePath(), null, false, cli );
 
-                verifier.getVerifierProperties()
-                        .setProperty( "use.mavenRepoLocal", "false" );
+                verifier.setLocalRepo( System.getProperty( "localRepository" ) );
             }
             catch ( VerificationException e )
             {
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
index 0e4062256..c9fbe6c4a 100755
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
@@ -147,6 +147,8 @@ public final class SurefireLauncher
 
         goals.add( "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" );
 
+        goals.add( "-nsu" );
+
         return goals;
     }
 
diff --git a/surefire-its/src/test/resources/environment-variables/pom.xml b/surefire-its/src/test/resources/environment-variables/pom.xml
index 6b8e3bcb4..902e97e97 100644
--- a/surefire-its/src/test/resources/environment-variables/pom.xml
+++ b/surefire-its/src/test/resources/environment-variables/pom.xml
@@ -31,8 +31,8 @@
     <properties>
       <forkMode>always</forkMode>
       <useSystemClassLoader>false</useSystemClassLoader>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/failingBuilds/pom.xml b/surefire-its/src/test/resources/failingBuilds/pom.xml
index d30dbb34e..8e988ad8e 100644
--- a/surefire-its/src/test/resources/failingBuilds/pom.xml
+++ b/surefire-its/src/test/resources/failingBuilds/pom.xml
@@ -34,7 +34,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/failsafe-notests/pom.xml b/surefire-its/src/test/resources/failsafe-notests/pom.xml
index b6d29b96b..24d1dec53 100644
--- a/surefire-its/src/test/resources/failsafe-notests/pom.xml
+++ b/surefire-its/src/test/resources/failsafe-notests/pom.xml
@@ -28,8 +28,8 @@
   <name>failsafe-notests</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/failure-result-counting/pom.xml b/surefire-its/src/test/resources/failure-result-counting/pom.xml
index 9d6ae8463..7d79f2949 100644
--- a/surefire-its/src/test/resources/failure-result-counting/pom.xml
+++ b/surefire-its/src/test/resources/failure-result-counting/pom.xml
@@ -32,7 +32,7 @@
   <properties>
     <junit.version>4.10</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/failureOutput/pom.xml b/surefire-its/src/test/resources/failureOutput/pom.xml
index e6ad639fc..85c10ee21 100644
--- a/surefire-its/src/test/resources/failureOutput/pom.xml
+++ b/surefire-its/src/test/resources/failureOutput/pom.xml
@@ -43,8 +43,8 @@
       <printSummary>true</printSummary>
       <useFile>true</useFile>
       <reportFormat>brief</reportFormat>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/fork-consoleOutput/pom.xml b/surefire-its/src/test/resources/fork-consoleOutput/pom.xml
index 1c89877c8..407d86bc9 100644
--- a/surefire-its/src/test/resources/fork-consoleOutput/pom.xml
+++ b/surefire-its/src/test/resources/fork-consoleOutput/pom.xml
@@ -40,8 +40,8 @@
       <forkMode>once</forkMode>
       <printSummary>true</printSummary>
       <reportFormat>brief</reportFormat>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml b/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml
index 5f3af23f3..9aa5e1be0 100644
--- a/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml
+++ b/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml
@@ -43,8 +43,8 @@
       <printSummary>true</printSummary>
       <useFile>true</useFile>
       <reportFormat>brief</reportFormat>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/fork-fail/pom.xml b/surefire-its/src/test/resources/fork-fail/pom.xml
index 8825613d6..9db6d725b 100644
--- a/surefire-its/src/test/resources/fork-fail/pom.xml
+++ b/surefire-its/src/test/resources/fork-fail/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <argLine>-Xmxxxx712743m</argLine>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml b/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml
index 708598cac..e0786b1d6 100644
--- a/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml
@@ -31,8 +31,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <modules>
diff --git a/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml b/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml
index 21a0fc2e3..e40033c47 100644
--- a/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-mode-testng/pom.xml b/surefire-its/src/test/resources/fork-mode-testng/pom.xml
index 1f1956beb..8e25749f5 100644
--- a/surefire-its/src/test/resources/fork-mode-testng/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode-testng/pom.xml
@@ -13,8 +13,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-mode/pom.xml b/surefire-its/src/test/resources/fork-mode/pom.xml
index ad9ec476d..28bfb4d7e 100644
--- a/surefire-its/src/test/resources/fork-mode/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-timeout/pom.xml b/surefire-its/src/test/resources/fork-timeout/pom.xml
index 67d85e9cb..25365a29f 100644
--- a/surefire-its/src/test/resources/fork-timeout/pom.xml
+++ b/surefire-its/src/test/resources/fork-timeout/pom.xml
@@ -12,8 +12,8 @@
     <junit.parallel>classes</junit.parallel>
     <forkMode>once</forkMode>
     <timeOut>1</timeOut>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
       <dependency>
diff --git a/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml b/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml
index d69c1292f..39313db17 100644
--- a/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml
+++ b/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml
@@ -31,8 +31,8 @@ under the License.
 
   <properties>
     <junit.version>3.8.2</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/includes-excludes/pom.xml b/surefire-its/src/test/resources/includes-excludes/pom.xml
index f107168a2..77711f758 100644
--- a/surefire-its/src/test/resources/includes-excludes/pom.xml
+++ b/surefire-its/src/test/resources/includes-excludes/pom.xml
@@ -31,8 +31,8 @@ under the License.
 
   <properties>
     <junit.version>3.8.2</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/isolated-classloader/pom.xml b/surefire-its/src/test/resources/isolated-classloader/pom.xml
index e76114144..a853063ec 100644
--- a/surefire-its/src/test/resources/isolated-classloader/pom.xml
+++ b/surefire-its/src/test/resources/isolated-classloader/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for useSystemClassLoader=false</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/java9-full-api/pom.xml b/surefire-its/src/test/resources/java9-full-api/pom.xml
index 2e4d4f34a..ffec71e24 100644
--- a/surefire-its/src/test/resources/java9-full-api/pom.xml
+++ b/surefire-its/src/test/resources/java9-full-api/pom.xml
@@ -83,7 +83,7 @@
 
     <profiles>
         <profile>
-            <id>use-jvm-config-paramater</id>
+            <id>use-jvm-config-parameter</id>
             <activation>
                 <property>
                     <name>jdk.home</name>
diff --git a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java
index c74678d61..bfe3dedfa 100644
--- a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java
+++ b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java
@@ -31,7 +31,7 @@ public class J9IT
         System.out.println( "from classloader " + javax.transaction.InvalidTransactionException.class.getClassLoader() );
         System.out.println( "loaded class " + javax.transaction.TransactionManager.class.getName() );
         System.out.println( "loaded class " + javax.xml.xpath.XPath.class.getName() );
-        System.out.println( "java.specification.version=" + System.getProperty( "java.specification.version" ) );
+        System.out.println( "java.specification.version is " + System.getProperty( "java.specification.version" ) );
     }
 
 }
diff --git a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java
index 6fc8536bd..3caa7dd5f 100644
--- a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java
+++ b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java
@@ -30,7 +30,7 @@ public class J9Test
         System.out.println( "loaded class " + javax.transaction.InvalidTransactionException.class.getName() );
         System.out.println( "loaded class " + javax.transaction.TransactionManager.class.getName() );
         System.out.println( "loaded class " + javax.xml.xpath.XPath.class.getName() );
-        System.out.println( "java.specification.version=" + System.getProperty( "java.specification.version" ) );
+        System.out.println( "java.specification.version is " + System.getProperty( "java.specification.version" ) );
     }
 
 }
diff --git a/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml b/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml
index 8b48b463c..9b86c75f8 100644
--- a/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml
+++ b/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/junit-ignore/pom.xml b/surefire-its/src/test/resources/junit-ignore/pom.xml
index a9547fc24..d9c38170a 100644
--- a/surefire-its/src/test/resources/junit-ignore/pom.xml
+++ b/surefire-its/src/test/resources/junit-ignore/pom.xml
@@ -32,8 +32,8 @@
     <junit.version>4.4</junit.version>
     <surefire.parallel></surefire.parallel>
     <surefire.threadcount>3</surefire.threadcount>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-innerClass/pom.xml b/surefire-its/src/test/resources/junit-innerClass/pom.xml
index ac9852321..fb1ffd6f2 100644
--- a/surefire-its/src/test/resources/junit-innerClass/pom.xml
+++ b/surefire-its/src/test/resources/junit-innerClass/pom.xml
@@ -29,8 +29,8 @@
   <name>Test JUnit classes with inner classes</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml b/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml
index 3a05cf19c..8a952017e 100644
--- a/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml
+++ b/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for JUnit tests that don't extend TestCase</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml b/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml
index 9f947e0f4..ee654917c 100644
--- a/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml
+++ b/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml
@@ -29,8 +29,8 @@
   <name>Test path with Ümlaut</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml b/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml
index ce121c733..f2075ae63 100644
--- a/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml
+++ b/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for single suite with two test cases</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/junit-twoTestCases/pom.xml b/surefire-its/src/test/resources/junit-twoTestCases/pom.xml
index 51ad8b282..89684adc2 100644
--- a/surefire-its/src/test/resources/junit-twoTestCases/pom.xml
+++ b/surefire-its/src/test/resources/junit-twoTestCases/pom.xml
@@ -24,8 +24,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <groupId>org.apache.maven.plugins.surefire</groupId>
diff --git a/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml b/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml
index 77ce5c4f3..4bfc08121 100644
--- a/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml
+++ b/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml
@@ -11,8 +11,8 @@
   </description>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml b/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml
index 1bf63c708..9456a29f3 100644
--- a/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml
+++ b/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for rerun failing tests in JUnit 4</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit4-runlistener/pom.xml b/surefire-its/src/test/resources/junit4-runlistener/pom.xml
index ff22b913f..d7765334e 100644
--- a/surefire-its/src/test/resources/junit4-runlistener/pom.xml
+++ b/surefire-its/src/test/resources/junit4-runlistener/pom.xml
@@ -31,8 +31,8 @@
   <properties>
     <junitVersion>4.4</junitVersion>
     <provider>surefire-junit4</provider>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml b/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml
index 583622428..867cd0992 100644
--- a/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml
+++ b/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-dep/pom.xml b/surefire-its/src/test/resources/junit44-dep/pom.xml
index bae6ad661..d26c02402 100644
--- a/surefire-its/src/test/resources/junit44-dep/pom.xml
+++ b/surefire-its/src/test/resources/junit44-dep/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for junit-dep</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-environment/pom.xml b/surefire-its/src/test/resources/junit44-environment/pom.xml
index af18c21ee..eb0444336 100644
--- a/surefire-its/src/test/resources/junit44-environment/pom.xml
+++ b/surefire-its/src/test/resources/junit44-environment/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for setting environment variables</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-hamcrest/pom.xml b/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
index c5e44ab1c..4140b41da 100644
--- a/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
+++ b/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for JUnit44 with Hamcrest extensions</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-method-pattern/pom.xml b/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
index 3ed4b2aa5..e9ac59e33 100644
--- a/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
+++ b/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-single-method/pom.xml b/surefire-its/src/test/resources/junit44-single-method/pom.xml
index 26769becb..c74aee2d0 100644
--- a/surefire-its/src/test/resources/junit44-single-method/pom.xml
+++ b/surefire-its/src/test/resources/junit44-single-method/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit47-cucumber/pom.xml b/surefire-its/src/test/resources/junit47-cucumber/pom.xml
index a57d3c4cf..17a8859d4 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/pom.xml
+++ b/surefire-its/src/test/resources/junit47-cucumber/pom.xml
@@ -29,13 +29,11 @@
   </parent>
 
   <artifactId>junit47-cucumber</artifactId>
-  <packaging>jar</packaging>
 
   <name>Tests cucumber with JUnit47 provider</name>
 
   <properties>
-    <cucumber.version>1.1.3</cucumber.version>
-    <junit.version>4.11</junit.version>
+    <cucumber.version>6.10.0</cucumber.version>
   </properties>
 
   <build>
@@ -60,19 +58,13 @@
 
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>${junit.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>info.cukes</groupId>
+      <groupId>io.cucumber</groupId>
       <artifactId>cucumber-java</artifactId>
       <version>${cucumber.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>info.cukes</groupId>
+      <groupId>io.cucumber</groupId>
       <artifactId>cucumber-junit</artifactId>
       <version>${cucumber.version}</version>
       <scope>test</scope>
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
index ed86734ca..448b87742 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
@@ -21,10 +21,11 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
-@Cucumber.Options( features = { "classpath:failing" } )
+@CucumberOptions( features = { "classpath:failing" } )
 public class FailingCucumberTest
 {
 
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
index ba25f6999..e5e733992 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
@@ -19,9 +19,9 @@
 
 package org.sample.cucumber;
 
-import cucumber.api.java.en.Given;
-import cucumber.api.java.en.Then;
-import cucumber.api.java.en.When;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.Then;
+import io.cucumber.java.en.When;
 
 import static org.junit.Assert.fail;
 
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
index 318f5e60d..7ba238b6d 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
@@ -21,10 +21,11 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
-@Cucumber.Options( features = { "classpath:success" } )
+@CucumberOptions( features = { "classpath:success" } )
 public class SuccessCucumberTest
 {
 
diff --git a/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml b/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
index c8aa69591..5dcbaba95 100644
--- a/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
+++ b/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
@@ -16,8 +16,8 @@
   </dependencies>
   <properties>
     <parallel>methods</parallel>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <build>
      <plugins>
diff --git a/surefire-its/src/test/resources/junit47-redirect-output/pom.xml b/surefire-its/src/test/resources/junit47-redirect-output/pom.xml
index a4b906695..38ec727e1 100644
--- a/surefire-its/src/test/resources/junit47-redirect-output/pom.xml
+++ b/surefire-its/src/test/resources/junit47-redirect-output/pom.xml
@@ -51,8 +51,8 @@
       <forkMode>once</forkMode>
       <printSummary>true</printSummary>
       <parallel>none</parallel>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml
index 24ee29486..315b9db2d 100644
--- a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml
+++ b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml
@@ -33,7 +33,9 @@
     <name>Test for rerun failing cucumber tests in JUnit 47</name>
 
     <properties>
-        <cucumber.version>2.0.0</cucumber.version>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
+        <cucumber.version>6.10.0</cucumber.version>
     </properties>
 
     <build>
@@ -42,6 +44,9 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <version>${surefire.version}</version>
+                <configuration>
+                    <forkMode>once</forkMode>
+                </configuration>
                 <dependencies>
                     <dependency>
                         <groupId>org.apache.maven.surefire</groupId>
@@ -54,12 +59,6 @@
     </build>
 
     <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
-        </dependency>
         <dependency>
             <groupId>io.cucumber</groupId>
             <artifactId>cucumber-java</artifactId>
diff --git a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java
index ecda87b9d..841ea5299 100644
--- a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java
+++ b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java
@@ -19,9 +19,10 @@
 
 package org.sample.cucumber;
 
-import cucumber.api.junit.Cucumber;
 import org.junit.runner.RunWith;
 
+import io.cucumber.junit.Cucumber;
+
 @RunWith( Cucumber.class )
 public class FlakeCucumberTest
 {
diff --git a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
index d253222ff..7e4e2da4e 100644
--- a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
+++ b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
@@ -19,9 +19,9 @@
 
 package org.sample.cucumber;
 
-import cucumber.api.java.en.Given;
-import cucumber.api.java.en.Then;
-import cucumber.api.java.en.When;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.Then;
+import io.cucumber.java.en.When;
 
 import static org.junit.Assert.fail;
 
diff --git a/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml b/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml
index b0c40ec8b..81f26c2c2 100644
--- a/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml
+++ b/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml
@@ -8,8 +8,8 @@
   <name>junit47-static-inner-class-tests</name>
   <url>http://maven.apache.org</url>
   <properties>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/junit48-categories/pom.xml b/surefire-its/src/test/resources/junit48-categories/pom.xml
index 4fcf11936..a83b687f8 100644
--- a/surefire-its/src/test/resources/junit48-categories/pom.xml
+++ b/surefire-its/src/test/resources/junit48-categories/pom.xml
@@ -33,8 +33,8 @@
     <junit.version>4.8.1</junit.version>
     <groups>junit4.CategoryA,junit4.CategoryB</groups>
     <excludedGroups></excludedGroups>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml b/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
index 84a3a182c..fe104a4bb 100644
--- a/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
+++ b/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.8.1</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/norunnableTests/pom.xml b/surefire-its/src/test/resources/norunnableTests/pom.xml
index f9e154f61..dd1a3cce3 100644
--- a/surefire-its/src/test/resources/norunnableTests/pom.xml
+++ b/surefire-its/src/test/resources/norunnableTests/pom.xml
@@ -29,8 +29,8 @@
   <name>Test JUnit classes with inner classes</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/parallel-runtime/pom.xml b/surefire-its/src/test/resources/parallel-runtime/pom.xml
index 34ba2fedc..f39f94974 100644
--- a/surefire-its/src/test/resources/parallel-runtime/pom.xml
+++ b/surefire-its/src/test/resources/parallel-runtime/pom.xml
@@ -18,8 +18,8 @@
     <properties>
       <parallel>classes</parallel>
       <threadCount>3</threadCount>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml b/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
index 042bdd1db..72bd38c94 100644
--- a/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
+++ b/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for useManifestOnlyJar=false</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/plexus-conflict/pom.xml b/surefire-its/src/test/resources/plexus-conflict/pom.xml
index 5cb6d8108..338904af5 100644
--- a/surefire-its/src/test/resources/plexus-conflict/pom.xml
+++ b/surefire-its/src/test/resources/plexus-conflict/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for plexus conflict</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/pojo-simple/pom.xml b/surefire-its/src/test/resources/pojo-simple/pom.xml
index d418dc49e..45986acc5 100644
--- a/surefire-its/src/test/resources/pojo-simple/pom.xml
+++ b/surefire-its/src/test/resources/pojo-simple/pom.xml
@@ -29,8 +29,8 @@
   <name>Pojo simple test</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <!-- NOTE: This has no dependencies on JUnit or TestNG, just nothing -->
diff --git a/surefire-its/src/test/resources/pom.xml b/surefire-its/src/test/resources/pom.xml
index 929385ce5..e01ed4c0c 100644
--- a/surefire-its/src/test/resources/pom.xml
+++ b/surefire-its/src/test/resources/pom.xml
@@ -9,8 +9,8 @@
   <name>It parent</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/reporters/pom.xml b/surefire-its/src/test/resources/reporters/pom.xml
index 82d0b5414..21525256c 100644
--- a/surefire-its/src/test/resources/reporters/pom.xml
+++ b/surefire-its/src/test/resources/reporters/pom.xml
@@ -43,7 +43,7 @@
       <redirect.to.file>true</redirect.to.file>
       <forkMode>once</forkMode>
       <printSummary>true</printSummary>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 </project>
diff --git a/surefire-its/src/test/resources/result-counting/pom.xml b/surefire-its/src/test/resources/result-counting/pom.xml
index 5147bf16d..fcb7372f8 100644
--- a/surefire-its/src/test/resources/result-counting/pom.xml
+++ b/surefire-its/src/test/resources/result-counting/pom.xml
@@ -35,7 +35,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/runOrder/pom.xml b/surefire-its/src/test/resources/runOrder/pom.xml
index 0544e70a3..84abb5392 100644
--- a/surefire-its/src/test/resources/runOrder/pom.xml
+++ b/surefire-its/src/test/resources/runOrder/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for runOrder</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/runorder-parallel/pom.xml b/surefire-its/src/test/resources/runorder-parallel/pom.xml
index d2f38b693..1dee7d8f9 100644
--- a/surefire-its/src/test/resources/runorder-parallel/pom.xml
+++ b/surefire-its/src/test/resources/runorder-parallel/pom.xml
@@ -16,8 +16,8 @@
   </dependencies>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/settings.xml b/surefire-its/src/test/resources/settings.xml
deleted file mode 100644
index 69a1c2ac7..000000000
--- a/surefire-its/src/test/resources/settings.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ 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.
-  -->
-<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
-    <localRepository>${maven.repo.local}</localRepository>
-    <interactiveMode>false</interactiveMode>
-    <pluginGroups>
-        <pluginGroup>org.apache.maven.plugins</pluginGroup>
-        <pluginGroup>org.codehaus.mojo</pluginGroup>
-    </pluginGroups>
-</settings>
diff --git a/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml b/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml
index 36dff8091..b12b1182e 100644
--- a/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml
+++ b/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml
@@ -30,8 +30,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <modules>
diff --git a/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml b/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml
index 9ed3e9b6b..be2f9df32 100644
--- a/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml
+++ b/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for aggregated child1</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml b/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml
index 1312a3dff..b8c21bfb0 100644
--- a/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml
+++ b/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for aggregated child2</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/small-result-counting/pom.xml b/surefire-its/src/test/resources/small-result-counting/pom.xml
index fb6c175b1..e06061ccc 100644
--- a/surefire-its/src/test/resources/small-result-counting/pom.xml
+++ b/surefire-its/src/test/resources/small-result-counting/pom.xml
@@ -32,7 +32,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml b/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml
index 61b066881..5bf2badf2 100644
--- a/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml
@@ -32,8 +32,8 @@
   <version>1.0</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml b/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml
index 96adf0c7c..2f24bc4f5 100644
--- a/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml
@@ -45,8 +45,8 @@
   </contributors>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml b/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml
index 226023d23..4229cc916 100644
--- a/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml
@@ -40,8 +40,8 @@
   </developers>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
index b5570fdb6..6bc1c31de 100644
--- a/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
@@ -26,8 +26,8 @@
   <version>1.0</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml
index e58abdc23..daecfc013 100644
--- a/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml
@@ -30,8 +30,8 @@
   <name>Surefire 1135</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   
   <profiles>
diff --git a/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml b/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml
index bdccd8b4b..4fb9d72e2 100644
--- a/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml
@@ -41,8 +41,8 @@
     </developers>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml b/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml
index 8a0fdf974..9bb5c2714 100644
--- a/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml
@@ -41,8 +41,8 @@
     </developers>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml b/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml
index 399d6017a..d262525b2 100644
--- a/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for testng groups</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml
index c8bd26f17..30e51994a 100644
--- a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml
@@ -27,8 +27,8 @@
   <name>Test provider</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml
index 642737c45..be5cf976d 100644
--- a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml
@@ -29,8 +29,8 @@
   <name>pluggableproviders-classpath-test</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml b/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml
index 76b763647..10a40c4ca 100644
--- a/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml
+++ b/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml
@@ -27,8 +27,8 @@
   <name>Test provider</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml b/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml
index 5e1e0543d..1a92a0cfa 100644
--- a/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml
+++ b/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml
@@ -39,8 +39,8 @@
 
   <properties>
     <surefire.version>2.12.4</surefire.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml b/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml
index 424a0169a..671a65458 100644
--- a/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml
+++ b/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for SUREFIRE-146 (forkMode=pertest fails to call setUp)</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml b/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml
index c7aba8852..4fcc715fa 100644
--- a/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml
@@ -29,8 +29,8 @@
     <name>Test execution testng suites in parallel</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml b/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml
index 948b32365..3eb617595 100644
--- a/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml
+++ b/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml
@@ -6,8 +6,8 @@
   <name>Test alternate CharsetProvider</name>
   <version>1.0-SNAPSHOT</version>
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <build>
     <plugins>
diff --git a/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml b/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml
index 944ccafba..74217ef4a 100644
--- a/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml
+++ b/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for MSUREFIRE-54 (well-formed XML failures)</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml b/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml
index 4b30546f5..c3e67382c 100644
--- a/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml
+++ b/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml
@@ -8,8 +8,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml b/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml
index bdb9d6f80..4bb71da60 100644
--- a/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml
+++ b/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml
@@ -29,8 +29,8 @@
     <name>surefire-260-testsWithIdenticalNames</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml b/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml
index af205c693..541f499d2 100644
--- a/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml
+++ b/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <junitVersion>3.8.1</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml b/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml
index af205c693..541f499d2 100644
--- a/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml
+++ b/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <junitVersion>3.8.1</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml b/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml
index 8579532f1..ac9477964 100644
--- a/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml
+++ b/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml
@@ -29,8 +29,8 @@
     <name>Test for two test cases</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml b/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml
index 33bd9a512..ce01272f4 100644
--- a/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml
+++ b/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml
@@ -9,8 +9,8 @@
   <url>http://maven.apache.org</url>
   <properties>
     <junit.version>4.4</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml b/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml
index 24916fab4..5cb7b9241 100644
--- a/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml
+++ b/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml
@@ -29,8 +29,8 @@
   <name>Surefire-510-systemprops</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml b/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml
index 9efe89697..b3238ea69 100644
--- a/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml
+++ b/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml
@@ -8,8 +8,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml b/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml
index daba45ea6..8175d3f82 100644
--- a/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml
+++ b/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml
@@ -8,8 +8,8 @@
   <name>junit4-test</name>
   <url>http://maven.apache.org</url>
   <properties>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml b/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml
index a012b7f3c..412035d84 100644
--- a/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml
+++ b/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml
@@ -9,8 +9,8 @@
     <url>http://maven.apache.org</url>
     <properties>
         <junit.version>4.8.1</junit.version>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <dependencies>
         <dependency>
diff --git a/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml b/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml
index cd89dd1f2..9c975a845 100644
--- a/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml
+++ b/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml
@@ -10,8 +10,8 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <parallel>methods</parallel>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
       <dependency>
diff --git a/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml b/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml
index 06a6162f4..211a99d64 100644
--- a/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml
+++ b/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-673-mockito/pom.xml b/surefire-its/src/test/resources/surefire-673-mockito/pom.xml
index f73c53340..554705b4b 100644
--- a/surefire-its/src/test/resources/surefire-673-mockito/pom.xml
+++ b/surefire-its/src/test/resources/surefire-673-mockito/pom.xml
@@ -7,8 +7,8 @@
   <version>1.0.0-SNAPSHOT</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
@@ -34,4 +34,20 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+  <profiles>
+    <profile>
+      <id>jdk8</id>
+      <activation>
+        <jdk>[1.8,)</jdk>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.mockito</groupId>
+          <artifactId>mockito-core</artifactId>
+          <version>3.8.0</version>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml b/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml
index 4631a8c50..398a22536 100644
--- a/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml
+++ b/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml
@@ -35,7 +35,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml b/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml
index 567901e0a..eb40366f5 100644
--- a/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml
+++ b/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml
@@ -29,8 +29,8 @@
     <name>surefire-685-commaseparatedIncludes</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml b/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml
index d86467be2..52663e5b5 100644
--- a/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml
+++ b/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml
@@ -29,8 +29,8 @@
   <name>Tests summary with long/multiline exception messages</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml b/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml
index 4ed347224..acb0d5ef8 100644
--- a/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml
+++ b/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml
@@ -50,7 +50,7 @@
 
   <properties>
     <junit.version>4.8.1</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml
index cdf4de244..9c039d48c 100644
--- a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml
+++ b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml
@@ -11,8 +11,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml
index 78aa7657c..ae8ad785e 100644
--- a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml
+++ b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml
@@ -11,8 +11,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml b/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml
index dd4090d38..296ded695 100644
--- a/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml
+++ b/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for single test in one of multiple executions</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml b/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml
index 617446b2d..74e261a38 100644
--- a/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml
+++ b/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for single test in one of multiple executions</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml b/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml
index ff49c399c..30f1708c0 100644
--- a/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml
+++ b/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junit.version>4.8.1</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml b/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml
index 5c39211aa..983e5bbdc 100644
--- a/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml
@@ -30,8 +30,8 @@
   
     <properties>
       <groups>!CategoryC</groups>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <build>
         <plugins>
diff --git a/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml b/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml
index c24eb5029..61be350dd 100644
--- a/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml
+++ b/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml
@@ -7,8 +7,8 @@
   <version>1.0.0-SNAPSHOT</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml b/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml
index 683327b7c..cef444e3f 100644
--- a/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml
+++ b/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml
@@ -7,8 +7,8 @@
     <name>cyril</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml
index 5f64d104f..2d005b643 100644
--- a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml
+++ b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml
@@ -32,8 +32,8 @@
   <properties>
     <junitVersion>4.8.1</junitVersion>
       <groups>junit4.CategoryA,junit4.CategoryB</groups>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml
index 67ea1603a..989f8af26 100644
--- a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml
@@ -19,8 +19,8 @@
     <name>TestNG group expressions tests</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml b/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml
index f2dbec0f1..895dd9182 100644
--- a/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml
+++ b/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml
@@ -32,8 +32,8 @@
   <properties>
     <junitVersion>4.8.1</junitVersion>
       <groups>junit4.CategoryA,junit4.CategoryB</groups>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml b/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml
index 511ea6ba9..18cb6799f 100644
--- a/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml
+++ b/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml
@@ -54,7 +54,7 @@
   </build>
   <properties>
     <defaultSuiteFile>${basedir}/src/test/resources/suite.xml</defaultSuiteFile>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml b/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml
index 3361e8c68..96634a783 100644
--- a/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml
+++ b/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml
@@ -98,7 +98,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-war-plugin</artifactId>
-        <version>2.4</version>
+        <version>3.3.2</version>
         <configuration>
           <failOnMissingWebXml>false</failOnMissingWebXml>
         </configuration>
diff --git a/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml b/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml
index bc20362cc..8535068e9 100644
--- a/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml
+++ b/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml
@@ -11,8 +11,8 @@
 
     <properties>
         <surefire.version>2.12.4</surefire.version>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <dependencies>
         <dependency>
diff --git a/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml b/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml
index b866defd7..62321490a 100644
--- a/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml
+++ b/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml
@@ -12,8 +12,8 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <build>
         <plugins>
diff --git a/surefire-its/src/test/resources/surefire-943-report-content/pom.xml b/surefire-its/src/test/resources/surefire-943-report-content/pom.xml
index 13e84034b..3b2958fc2 100644
--- a/surefire-its/src/test/resources/surefire-943-report-content/pom.xml
+++ b/surefire-its/src/test/resources/surefire-943-report-content/pom.xml
@@ -10,8 +10,8 @@
 
 	<properties>
 		<surefire.version>2.13</surefire.version>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 
 	<build>
diff --git a/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml b/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml
index 83e38709a..53bb0a352 100644
--- a/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml
+++ b/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml
@@ -27,8 +27,8 @@
 	<name>Tests killing the main maven process when using reusable forks</name>
 
 	<properties>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 
 	<dependencies>
diff --git a/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml b/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml
index 005eb4fa3..811be939f 100644
--- a/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml
+++ b/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml
@@ -12,8 +12,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml b/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml
index 220f37b9a..7a2ac4de1 100644
--- a/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml
+++ b/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml
@@ -10,8 +10,8 @@
     <module>boom</module>
   </modules>
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <build>
         <pluginManagement>
diff --git a/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml b/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml
index 571809f75..49848d6b4 100755
--- a/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml
+++ b/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml
@@ -9,8 +9,8 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml
index e0c74776f..79e1c7d43 100644
--- a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml
+++ b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml
@@ -7,8 +7,8 @@
     <name>surefire-979-base</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml
index e8ef4246d..cae9147af 100644
--- a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml
+++ b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml
@@ -7,8 +7,8 @@
     <name>surefire-979</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml
index 9a4c59522..c9c1f912d 100644
--- a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml
+++ b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml
@@ -13,8 +13,8 @@
     </modules>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <build>
diff --git a/surefire-its/src/test/resources/system-properties/pom.xml b/surefire-its/src/test/resources/system-properties/pom.xml
index 79899b571..1d2952dbf 100644
--- a/surefire-its/src/test/resources/system-properties/pom.xml
+++ b/surefire-its/src/test/resources/system-properties/pom.xml
@@ -91,8 +91,8 @@
   
   <properties>
     <setOnArgLineWorkAround>fool</setOnArgLineWorkAround>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml b/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml
index 0c4a15e9e..4a01e2313 100644
--- a/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml
+++ b/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml
@@ -12,8 +12,8 @@
 
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 
 	<dependencies>
diff --git a/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml b/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml
index 3958c791f..0b96853d6 100644
--- a/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml
+++ b/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG failure after suite</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-beforeMethod/pom.xml b/surefire-its/src/test/resources/testng-beforeMethod/pom.xml
index 63f344518..1072958f9 100644
--- a/surefire-its/src/test/resources/testng-beforeMethod/pom.xml
+++ b/surefire-its/src/test/resources/testng-beforeMethod/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG @BeforeMethod annotation</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml b/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml
index 6e8ee6568..88b6a4e14 100644
--- a/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml
+++ b/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG failure in @BeforeMethod annotation</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-execute-error/pom.xml b/surefire-its/src/test/resources/testng-execute-error/pom.xml
index a1403576b..7e06dbede 100644
--- a/surefire-its/src/test/resources/testng-execute-error/pom.xml
+++ b/surefire-its/src/test/resources/testng-execute-error/pom.xml
@@ -29,8 +29,8 @@
   <name>Test proper output from forked execution in case of uncatched error during suite run</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-groups/pom.xml b/surefire-its/src/test/resources/testng-groups/pom.xml
index f26929e59..f6b7447d6 100644
--- a/surefire-its/src/test/resources/testng-groups/pom.xml
+++ b/surefire-its/src/test/resources/testng-groups/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for testng groups</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/testng-jdk14/pom.xml b/surefire-its/src/test/resources/testng-jdk14/pom.xml
index 2098e7ddb..337f71c13 100644
--- a/surefire-its/src/test/resources/testng-jdk14/pom.xml
+++ b/surefire-its/src/test/resources/testng-jdk14/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for testng jdk14 integration</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/testng-junit-together/pom.xml b/surefire-its/src/test/resources/testng-junit-together/pom.xml
index f8d0b203a..93c9942bf 100644
--- a/surefire-its/src/test/resources/testng-junit-together/pom.xml
+++ b/surefire-its/src/test/resources/testng-junit-together/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG and Junit Together</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-listener-reporter/pom.xml b/surefire-its/src/test/resources/testng-listener-reporter/pom.xml
index 3fed89f59..af6ac28c4 100644
--- a/surefire-its/src/test/resources/testng-listener-reporter/pom.xml
+++ b/surefire-its/src/test/resources/testng-listener-reporter/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG listener and reporter test</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml b/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml
index fac74ae45..41768cd01 100644
--- a/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml
+++ b/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml b/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml
index fac74ae45..41768cd01 100644
--- a/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml
+++ b/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-method-pattern/pom.xml b/surefire-its/src/test/resources/testng-method-pattern/pom.xml
index fb627b734..50b08bf79 100644
--- a/surefire-its/src/test/resources/testng-method-pattern/pom.xml
+++ b/surefire-its/src/test/resources/testng-method-pattern/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml b/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml
index ed458637b..9464c8484 100644
--- a/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml
+++ b/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml
@@ -18,8 +18,8 @@
 	<version>1.0-SNAPSHOT</version>
 	<name>TestNG group/parallel thread tests, with parallel settings set by @Test(threadPoolSize)</name>
 	<properties>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 	<dependencies>
 		<dependency>
diff --git a/surefire-its/src/test/resources/testng-path with spaces/pom.xml b/surefire-its/src/test/resources/testng-path with spaces/pom.xml
index cedd92d6f..3f1138a4b 100644
--- a/surefire-its/src/test/resources/testng-path with spaces/pom.xml	
+++ b/surefire-its/src/test/resources/testng-path with spaces/pom.xml	
@@ -29,8 +29,8 @@
   <name>TestNG test in a path with spaces</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-simple/pom.xml b/surefire-its/src/test/resources/testng-simple/pom.xml
index 7ab390424..d361ddc17 100644
--- a/surefire-its/src/test/resources/testng-simple/pom.xml
+++ b/surefire-its/src/test/resources/testng-simple/pom.xml
@@ -76,8 +76,8 @@
     <surefire.testng.verbose>0</surefire.testng.verbose>
     <argLine/>
     <jacoco.agent/>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml b/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml
index b7629d59c..a10bd0fa2 100644
--- a/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml
+++ b/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/testng-single-method/pom.xml b/surefire-its/src/test/resources/testng-single-method/pom.xml
index 330ffcb10..32ebfafb4 100644
--- a/surefire-its/src/test/resources/testng-single-method/pom.xml
+++ b/surefire-its/src/test/resources/testng-single-method/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-suite-xml/pom.xml b/surefire-its/src/test/resources/testng-suite-xml/pom.xml
index b0af8b8b3..ec02455cf 100644
--- a/surefire-its/src/test/resources/testng-suite-xml/pom.xml
+++ b/surefire-its/src/test/resources/testng-suite-xml/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG Suite XML File</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml b/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml
index 0293192dc..f7477febd 100644
--- a/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml
+++ b/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG Suite XML with two test cases</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/timeout-forked/pom.xml b/surefire-its/src/test/resources/timeout-forked/pom.xml
index a36f8f46a..fc95eb337 100644
--- a/surefire-its/src/test/resources/timeout-forked/pom.xml
+++ b/surefire-its/src/test/resources/timeout-forked/pom.xml
@@ -29,8 +29,8 @@
   <name>Timeout forked process</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/unicode-testnames/pom.xml b/surefire-its/src/test/resources/unicode-testnames/pom.xml
index cd0a7b8f5..c186f83c4 100644
--- a/surefire-its/src/test/resources/unicode-testnames/pom.xml
+++ b/surefire-its/src/test/resources/unicode-testnames/pom.xml
@@ -31,8 +31,8 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml b/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml
index 53d42fb65..fa19695ed 100644
--- a/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml
+++ b/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml
@@ -28,8 +28,8 @@
   <name>Don't run tests if working directory is invalid property.</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/working-directory-missing/pom.xml b/surefire-its/src/test/resources/working-directory-missing/pom.xml
index de466d98b..515a41438 100644
--- a/surefire-its/src/test/resources/working-directory-missing/pom.xml
+++ b/surefire-its/src/test/resources/working-directory-missing/pom.xml
@@ -26,8 +26,8 @@
   <version>1.0</version>
   <name>Run tests in a nonexistent working directory</name>
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/working-directory/pom.xml b/surefire-its/src/test/resources/working-directory/pom.xml
index 9880d632b..1a7b7d7ab 100644
--- a/surefire-its/src/test/resources/working-directory/pom.xml
+++ b/surefire-its/src/test/resources/working-directory/pom.xml
@@ -30,8 +30,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <modules>