diff --git a/README.md b/README.md
index 49fa858..71dc069 100644
--- a/README.md
+++ b/README.md
@@ -70,13 +70,12 @@
 -------------------------------------------------------------------------------
 ## SECTION 2. Download & Install
 
-Build the source.
+1. Download the source.
 
  a. from git:
  ```
  git clone --branch 2.0.3  https://gitbox.apache.org/repos/asf/directory-fortress-commander.git/
  cd directory-fortress-commander
- mvn clean install
  ```
 
  b. or download package:
@@ -85,9 +84,24 @@
  wget http://www.apache.org/dist/directory/fortress/dist/2.0.3/fortress-web-2.0.3-source-release.zip
  unzip fortress-web-2.0.3-source-release.zip
  cd fortress-web-2.0.3
+ ```
+
+2. Build the source.
+
+a. Java 8 target
+
+ ```
  mvn clean install
  ```
 
+-- OR --
+
+b. Java 11 target
+
+ ```
+ mvn clean install -Djava.version=11
+ ```
+
 ___________________________________________________________________________________
 ## SECTION 3. Get the fortress.properties
 
diff --git a/pom.xml b/pom.xml
index edb1967..43fb6c8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,8 +87,8 @@
 
   <properties>
     <title>${project.name} ${project.version}</title>
+    <java.version>1.8</java.version>
     <fortress.realm.version>2.0.4-SNAPSHOT</fortress.realm.version>
-<!--    <fortress.realm.version>2.0.3</fortress.realm.version>-->
     <wicket.version>7.10.0</wicket.version>
     <wicket.jquery.version>7.10.0</wicket.jquery.version>
     <wicket.kendo-ui.version>7.10.0</wicket.kendo-ui.version>
@@ -311,12 +311,13 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.8.0</version>
         <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
+          <source>${java.version}</source>
+          <target>${java.version}</target>
         </configuration>
       </plugin>
-      
+
       <!-- War the commander app -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -360,6 +361,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-source-plugin</artifactId>
+        <version>3.0.0</version>
         <executions>
           <execution>
             <id>attach-sources</id>
diff --git a/src/main/java/org/apache/directory/fortress/web/NavPanel.java b/src/main/java/org/apache/directory/fortress/web/NavPanel.java
index 13e5056..383d0ca 100644
--- a/src/main/java/org/apache/directory/fortress/web/NavPanel.java
+++ b/src/main/java/org/apache/directory/fortress/web/NavPanel.java
@@ -21,7 +21,6 @@
 package org.apache.directory.fortress.web;
 
 
-import jdk.nashorn.internal.runtime.regexp.joni.Config;
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxCallListener;
