Require Java 8
diff --git a/Jenkinsfile b/Jenkinsfile
index e9f05f7..1e77454 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -17,4 +17,4 @@
  * under the License.
  */
 
-asfMavenTlpPlgnBuild()
+asfMavenTlpPlgnBuild(jdk:['8','11','15','16'])
diff --git a/pom.xml b/pom.xml
index dfb30dc..a8c8fee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,8 +67,8 @@
 

   <properties>

     <mavenVersion>3.0</mavenVersion>

-    <maven.compiler.source>1.7</maven.compiler.source>

-    <maven.compiler.target>1.7</maven.compiler.target>

+    <maven.compiler.source>1.8</maven.compiler.source>

+    <maven.compiler.target>1.8</maven.compiler.target>

     <project.build.outputTimestamp>2020-04-07T21:04:00Z</project.build.outputTimestamp>

   </properties>

 

diff --git a/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java b/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java
index 6dfc038..ce04b2d 100644
--- a/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java
+++ b/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java
@@ -67,19 +67,15 @@
     public void execute()

         throws MojoExecutionException, MojoFailureException

     {

-       Execute execute;

-       Object result;

-       Bindings bindings;

-

        try

        {

-         execute = constructExecute();

+         Execute execute = constructExecute();

 

-         bindings = new SimpleBindings();

+         Bindings bindings = new SimpleBindings();

          bindings.put( "project", project );

          bindings.put( "log", getLog() );

 

-         result = execute.run( bindings );

+         Object result = execute.run( bindings );

 

          getLog().info( "Result:" );

          if ( result != null )

diff --git a/src/main/java/org/apache/maven/plugins/scripting/Execute.java b/src/main/java/org/apache/maven/plugins/scripting/Execute.java
index 5563bc5..74752d0 100644
--- a/src/main/java/org/apache/maven/plugins/scripting/Execute.java
+++ b/src/main/java/org/apache/maven/plugins/scripting/Execute.java
@@ -40,13 +40,9 @@
    */

   public final Object run( Bindings bindings ) throws IllegalArgumentException, ScriptException

   {

-    ScriptEngine engine;

-    ScriptEngineManager manager;

-    ScriptContext context;

-

-    manager = new ScriptEngineManager();

-    engine = constructEngine( manager );

-    context = engine.getContext();

+    ScriptEngineManager manager = new ScriptEngineManager();

+    ScriptEngine engine = constructEngine( manager );

+    ScriptContext context = engine.getContext();

 

     context.setBindings( bindings, ScriptContext.GLOBAL_SCOPE );

 

diff --git a/src/main/java/org/apache/maven/plugins/scripting/ExecuteFile.java b/src/main/java/org/apache/maven/plugins/scripting/ExecuteFile.java
index 0c9ce9c..198b418 100644
--- a/src/main/java/org/apache/maven/plugins/scripting/ExecuteFile.java
+++ b/src/main/java/org/apache/maven/plugins/scripting/ExecuteFile.java
@@ -74,17 +74,14 @@
    */

   protected Object execute( ScriptEngine engine, ScriptContext context ) throws ScriptException

   {

-    FileReader reader;

-

-    try

+    try ( FileReader reader = new FileReader( scriptFile ) )

     {

-      reader = new FileReader( scriptFile );

+        return engine.eval( reader, context );

     }

     catch ( IOException ex )

     {

       throw new IllegalArgumentException( scriptFile + " caused:", ex );

     }

-    return engine.eval( reader, context );

   }

 

   /**

@@ -93,8 +90,6 @@
   protected ScriptEngine constructEngine( ScriptEngineManager manager ) throws IllegalArgumentException

   {

     ScriptEngine result;

-    String extension;

-    int position;

 

     if ( engineName != null && !engineName.trim().isEmpty() )

     {

@@ -107,8 +102,8 @@
     }

     else

     {

-      extension = scriptFile.getName();

-      position = extension.indexOf( "." );

+      String extension = scriptFile.getName();

+      int position = extension.indexOf( "." );

 

       if ( position >= 0 )

       {

diff --git a/src/main/java/org/apache/maven/plugins/scripting/ExecuteString.java b/src/main/java/org/apache/maven/plugins/scripting/ExecuteString.java
index b3171e5..38340f0 100644
--- a/src/main/java/org/apache/maven/plugins/scripting/ExecuteString.java
+++ b/src/main/java/org/apache/maven/plugins/scripting/ExecuteString.java
@@ -67,9 +67,8 @@
    */

   protected ScriptEngine constructEngine( ScriptEngineManager manager ) throws IllegalArgumentException

   {

-    ScriptEngine result;

+    ScriptEngine result = manager.getEngineByName( engineName );

 

-    result = manager.getEngineByName( engineName );

     if ( result == null )

     {

       throw new IllegalArgumentException( "Unknown engine specified with name \"" + engineName + "\"" );