diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml
index 93f5cc3391f6130fa152bc8bc77e837935d91328..c9a3a74c106a198fdac8e358f00eda2ed5434a4c 100644
--- a/apps/i2ptunnel/java/build.xml
+++ b/apps/i2ptunnel/java/build.xml
@@ -277,14 +277,17 @@
             <classpath>
                 <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                 <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
-                <!-- jsp-api.jar only present for debian builds -->
+
+                <!-- following jars only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/jsp-api.jar" />
-                <!-- tomcat-api.jar only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/tomcat-api.jar" />
-                <!-- jasper-el.jar only present for debian builds -->
+                <pathelement location="../../jetty/jettylib/tomcat-util.jar" />
+                <pathelement location="../../jetty/jettylib/tomcat-util-scan.jar" />
+
                 <pathelement location="../../jetty/jettylib/jasper-el.jar" />
                 <pathelement location="../../jetty/jettylib/commons-logging.jar" />
                 <pathelement location="../../jetty/jettylib/commons-el.jar" />
+                <pathelement location="../../jetty/jettylib/jetty-util.jar" />
                 <pathelement location="${ant.home}/lib/ant.jar" />
                 <pathelement location="build/i2ptunnel.jar" />
                 <pathelement location="build/temp-beans.jar" />
@@ -309,12 +312,14 @@
             <classpath>
                 <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                 <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
-                <!-- jsp-api.jar only present for debian builds -->
+
+                <!-- following jars only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/jsp-api.jar" />
-                <!-- tomcat-api.jar only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/tomcat-api.jar" />
-                <!-- jasper-el.jar only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/jasper-el.jar" />
+                <pathelement location="../../jetty/jettylib/tomcat-util.jar" />
+                <pathelement location="../../jetty/jettylib/tomcat-util-scan.jar" />
+
                 <pathelement location="../../jetty/jettylib/commons-logging.jar" />
                 <pathelement location="../../jetty/jettylib/commons-el.jar" />
                 <pathelement location="build/i2ptunnel.jar" />
diff --git a/apps/jetty/apache-tomcat-deployer/NOTICE b/apps/jetty/apache-tomcat-deployer/NOTICE
deleted file mode 100644
index 130d56e7d94c7234d887930bc65fafac1ab62413..0000000000000000000000000000000000000000
--- a/apps/jetty/apache-tomcat-deployer/NOTICE
+++ /dev/null
@@ -1,22 +0,0 @@
-Apache Tomcat
-Copyright 1999-2016 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-The Windows Installer is built with the Nullsoft
-Scriptable Install System (NSIS), which is
-open source software.  The original software and
-related information is available at
-http://nsis.sourceforge.net.
-
-Java compilation software for JSP pages is provided by the Eclipse
-JDT Core Batch Compiler component, which is open source software.
-The original software and related information is available at
-http://www.eclipse.org/jdt/core/.
-
-The original XML Schemas for Java EE Deployment Descriptors:
- - javaee_5.xsd
- - javaee_web_services_1_2.xsd
- - javaee_web_services_client_1_2.xsd
-may be obtained from http://java.sun.com/xml/ns/javaee/
diff --git a/apps/jetty/apache-tomcat-deployer/README-i2p.txt b/apps/jetty/apache-tomcat-deployer/README-i2p.txt
deleted file mode 100644
index 6b8c0edf3159935d2009190e588c58b9db99d51c..0000000000000000000000000000000000000000
--- a/apps/jetty/apache-tomcat-deployer/README-i2p.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-This is Apache Tomcat 6.x, supporting Servlet 2.5 and JSP 2.1.
-The Glassfish JSP 2.1 bundled in Jetty 6 is way too old.
-
-Retrieved from the file
-	apache-tomcat-6.0.48-deployer.tar.gz
-
-minus the following files and directores:
-
-	build.xml
-	deployer-howto.html
-	images/*
-	lib/catalina*
-	lib/jsp-api.jar (see below)
-	lib/servlet-api.jar (see below)
-	LICENSE (see ../../../licenses/LICENSE-Apache2.0.txt, it's also inside every jar)
-	RELEASE-NOTES
-
-
-We could use the following API jars from Apache Tomcat 7.x, supporting Servlet 3.0 and JSP 2.2,
-that are required for Jetty 8, but we just bundle the ones from Jetty 8 instead:
-
-	lib/jsp-api.jar
-	lib/servlet-api.jar
-
-For more info:
-http://tomcat.apache.org/whichversion.html
diff --git a/apps/jetty/apache-tomcat-deployer/lib/el-api.jar b/apps/jetty/apache-tomcat-deployer/lib/el-api.jar
deleted file mode 100644
index 2598a4a8fa66bcaec88ccede7710159f6d9fead8..0000000000000000000000000000000000000000
Binary files a/apps/jetty/apache-tomcat-deployer/lib/el-api.jar and /dev/null differ
diff --git a/apps/jetty/apache-tomcat-deployer/lib/jasper-el.jar b/apps/jetty/apache-tomcat-deployer/lib/jasper-el.jar
deleted file mode 100644
index b7205e347de032147194f587b4a5adaaae554fbe..0000000000000000000000000000000000000000
Binary files a/apps/jetty/apache-tomcat-deployer/lib/jasper-el.jar and /dev/null differ
diff --git a/apps/jetty/apache-tomcat-deployer/lib/jasper.jar b/apps/jetty/apache-tomcat-deployer/lib/jasper.jar
deleted file mode 100644
index ca2d7269d81e81c090fbb58fd48c239a017b7466..0000000000000000000000000000000000000000
Binary files a/apps/jetty/apache-tomcat-deployer/lib/jasper.jar and /dev/null differ
diff --git a/apps/jetty/apache-tomcat-deployer/lib/tomcat-juli.jar b/apps/jetty/apache-tomcat-deployer/lib/tomcat-juli.jar
deleted file mode 100644
index c5e0f8f7791109d3a488042772351e1a47f16c21..0000000000000000000000000000000000000000
Binary files a/apps/jetty/apache-tomcat-deployer/lib/tomcat-juli.jar and /dev/null differ
diff --git a/apps/jetty/apache-tomcat/README-i2p.txt b/apps/jetty/apache-tomcat/README-i2p.txt
deleted file mode 100644
index 015ff4736a7757a2868b3ef29c58a02e4a4815e9..0000000000000000000000000000000000000000
--- a/apps/jetty/apache-tomcat/README-i2p.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-This is Apache Tomcat 6.x, supporting Servlet 2.5 and JSP 2.1.
-
-Retrieved from the file
-	apache-tomcat-6.0.48.tar.gz
-
-containing only a small subset of lib/tomcat-coyote.jar.
-
-See the buildTomcatUtilJar target in ../build.xml for the classes extracted and more information.
-
-LICENSE: see ../../../licenses/LICENSE-Apache2.0.txt
diff --git a/apps/jetty/apache-tomcat/lib/tomcat-coyote-util.jar b/apps/jetty/apache-tomcat/lib/tomcat-coyote-util.jar
deleted file mode 100644
index a45499414ec8c2d28372de113225872cb40113f9..0000000000000000000000000000000000000000
Binary files a/apps/jetty/apache-tomcat/lib/tomcat-coyote-util.jar and /dev/null differ
diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml
index 7dfe415f503da2e0a5d6bd9416921d40f19cbe55..f9f24eae8a534fa129905911181d7c971d4021a6 100644
--- a/apps/jetty/build.xml
+++ b/apps/jetty/build.xml
@@ -3,7 +3,7 @@
 
     <!-- This copies jars, with some modifications and renaming,
          from the jetty-distribution directory to the jettylib directory.
-         This is disabled if the property with-libjetty8-java=true.
+         This is disabled if the property with-libjetty9-java=true.
 
          This copies jars, with some modifications and renaming,
          from the apache-tomcat-deployer and apache-tomcat directories to the jettylib directory.
@@ -25,10 +25,12 @@
     <property name="verified.filename" value="verified.txt" />
     <property name="javac.compilerargs" value="" />
     <property name="javac.version" value="1.7" />
+<!--
     <property name="tomcat.lib" value="apache-tomcat-deployer/lib" />
     <property name="tomcat.ver" value="6.0.48" />
     <property name="tomcat2.lib" value="apache-tomcat-${tomcat.ver}/lib" />
     <property name="tomcat2.lib.small" value="apache-tomcat/lib" />
+-->
 
     <target name="all" depends="build" />
 
@@ -44,7 +46,7 @@
     <target name="ensureJettylib1" >
         <condition property="jetty.zip.extracted" >
             <or>
-                <istrue value="${with-libjetty8-java}" />
+                <istrue value="${with-libjetty9-java}" />
                 <available file="${jetty.base}" type="dir" />
             </or>
         </condition>
@@ -56,7 +58,7 @@
         </condition>
         <condition property="verified.already" >
             <or>
-                <istrue value="${with-libjetty8-java}" />
+                <istrue value="${with-libjetty9-java}" />
                 <istrue value="${jetty.zip.extracted}" />
                 <and>
                     <available file="${jetty.filename}" />
@@ -126,7 +128,7 @@
     <target name="copyJettylib" depends="mkJettylibdir, copyJettylib1, copyTomcatLib" />
 
     <!-- Jetty files only -->
-    <target name="copyJettylib1" depends="extractJettylib" unless="${with-libjetty8-java}" >
+    <target name="copyJettylib1" depends="extractJettylib" unless="${with-libjetty9-java}" >
       <!-- We copy everything to names without the version numbers so we
            can update them later. Where there was something similar in Jetty 5/6,
            we use the same names so they will overwrite the Jetty 5/6 jar on upgrade.
@@ -169,14 +171,15 @@
                 <attribute name="Note" value="Intentionally empty" />
             </manifest>
         </jar>
-        <!-- TODO we may wish to put the compiler in jasper-runtime.jar instead -->
         <jar destfile="jettylib/javax.servlet.jar" duplicate="preserve" filesetmanifest="mergewithoutmain" >
             <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/servlet-api-3.1.jar" />
+          <!--
+            Jetty version - see below for why we don't use this one
             <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/jsp/javax.servlet.jsp-api-2.3.1.jar" />
-            <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/jsp/javax.servlet.jsp-2.3.2.jar" />
-<!--
-            <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/jsp/jetty-jsp-${jetty.ver}.jar" />
--->
+           -->
+            <!-- Apache version -->
+            <!-- Also includes org.apache.*, this is copied into jasper-runtime.jar below -->
+            <zipfileset includes="javax/**/*" src="${jetty.base}/lib/apache-jsp/org.mortbay.jasper.apache-jsp-8.0.33.jar"/>
             <!-- In Debian packages they are found in /usr/share/java/tomcat8-servlet-api.jar in the libtomcat8-java package -->
             <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/jetty-schemas-3.1.jar" />
         </jar>
@@ -206,13 +209,16 @@
          Apparently this is only required for precompilation of jsps, so this is put in
          with the JspC compiler jasper-runtime.jar below.
      -->
-    <target name="buildTomcatUtilJar" unless="${with-libservlet2.5-java}" >
-        <!-- take only what we need from the tomcat-coyote jar -->
+
+    <!-- take only what we need from the tomcat-coyote jar -->
+<!--
+    <target name="buildTomcatUtilJar" unless="${with-libjetty9-java}" >
         <jar destfile="${tomcat2.lib.small}/tomcat-coyote-util.jar" >
             <zipfileset src="${tomcat2.lib}/tomcat-coyote.jar"
              includes="org/apache/tomcat/util/descriptor/* org/apache/tomcat/util/res/*" />
         </jar>
     </target>
+-->
 
     <!-- Tomcat.
          The glassfish jars bundled in Jetty 6 are way too old.
@@ -231,7 +237,7 @@
      -->
     <target name="copyTomcatLib" depends="mkJettylibdir, copyTomcatLib1, copyTomcatLib2, copyTomcatLib3" />
 
-    <target name="copyTomcatLib1" unless="${with-libservlet2.5-java}" >
+    <target name="copyTomcatLib1" unless="${with-libjetty9-java}" >
         <condition property="with-libtomcat-java" >
             <or>
                 <istrue value="${with-libtomcat6-java}" />
@@ -250,13 +256,36 @@
              According to http://stackoverflow.com/questions/7202686/differences-between-el-2-1-and-2-2
              2.2 is backwards-compatible with 2.1.
          -->
-        <copy preservelastmodified="true" file="${jetty.base}/lib/jsp/javax.el-3.0.0.jar" tofile="jettylib/commons-el.jar" />
+        <!-- the javax.el API, AND the com.sun.el parser -->
+        <!-- actually from jetty9, not tomcat8... this will fail unless neither or both -->
+        <jar destfile="jettylib/commons-el.jar" >
+          <!--
+            Jetty version
+            <zipfileset src="${jetty.base}/lib/jsp/javax.el-3.0.0.jar"/>
+           -->
+            <!-- Apache version -->
+            <zipfileset src="${jetty.base}/lib/apache-jsp/org.mortbay.jasper.apache-el-8.0.33.jar"/>
+        </jar>
 
+        <!-- actually from jetty9, not tomcat8... this will fail unless neither or both -->
         <jar destfile="jettylib/jasper-runtime.jar" >
-            <manifest>
-                <attribute name="Note" value="Intentionally empty" />
-            </manifest>
+          <!--
+            Jetty version
+            <zipfileset src="${jetty.base}/lib/jsp/javax.servlet.jsp-2.3.2.jar"/>
+            To be included in jasper-runtime.jar?
+            Server complains "NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet" even with this included (but it still works).
+            The following file has the class, but /usr/share/java/jetty8-jsp.jar is empty
+            We don't use this one, because we want to be consistent with Debian builds that
+            must use Apache (aka libtomcat8).
+            <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/jsp/jetty-jsp-${jetty.ver}.jar" />
+           -->
+            <!-- Apache version -->
+            <!-- Also includes javax.servlet.jsp.*, this is copied into javax.servlet.jar above -->
+            <zipfileset includes="org/**/*" src="${jetty.base}/lib/apache-jsp/org.mortbay.jasper.apache-jsp-8.0.33.jar"/>
+            <!-- required Jetty initializer (see RouterConsoleRunner) -->
+            <zipfileset src="${jetty.base}/lib/apache-jsp/org.eclipse.jetty.apache-jsp-${jetty.ver}.jar"/>
         </jar>
+
 <!--
         <jar destfile="jettylib/javax.servlet.jar" duplicate="preserve" filesetmanifest="mergewithoutmain" >
             <zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/servlet-api.jar" />
@@ -269,7 +298,12 @@
              Their bug tracker claims fixed in 1.8.0 but broken for me in 1.8.1
           -->
         <jar destfile="jettylib/commons-logging.jar" update="true" >
+<!--
             <zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/tomcat-juli.jar" />
+-->
+            <manifest>
+                <attribute name="Note" value="Intentionally empty" />
+            </manifest>
         </jar>
     </target>
 
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-continuation-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-continuation-8.1.21.v20160908.jar
deleted file mode 100644
index ef8b5f4dc1688a1079a15e591c63394eb54c5c8e..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-continuation-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-deploy-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-deploy-8.1.21.v20160908.jar
deleted file mode 100644
index 1df83b801aa83d2d3733761d812100e305dd9447..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-deploy-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-http-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-http-8.1.21.v20160908.jar
deleted file mode 100644
index 6bbb4224c19ce638f2d70501880464e21b02dc37..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-http-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-io-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-io-8.1.21.v20160908.jar
deleted file mode 100644
index 502691d379271587a755c0cc21668c934772a3da..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-io-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-jmx-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-jmx-8.1.21.v20160908.jar
deleted file mode 100644
index 9a5a0309042201f2b9731ba3d5a03e8b4e11d72a..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-jmx-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-rewrite-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-rewrite-8.1.21.v20160908.jar
deleted file mode 100644
index a2a145408e91bdf3695b65e346d045a2609efbf7..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-rewrite-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-security-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-security-8.1.21.v20160908.jar
deleted file mode 100644
index dcacc12ade65ed3de9e365abe8f276a12f6af256..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-security-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-server-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-server-8.1.21.v20160908.jar
deleted file mode 100644
index 0a99f8497450e28d21735d2fc9213052a8676ac4..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-server-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-servlet-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-servlet-8.1.21.v20160908.jar
deleted file mode 100644
index 1e563538c006d8c504916454a9ea184e672fc8a7..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-servlet-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-servlets-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-servlets-8.1.21.v20160908.jar
deleted file mode 100644
index 28e4fe6c27732d03fd3d148a6342ce5524b02dd4..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-servlets-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-util-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-util-8.1.21.v20160908.jar
deleted file mode 100644
index 646b23b0f1b2bfee5d4fa66d3df8364d3ba08da2..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-util-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-webapp-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-webapp-8.1.21.v20160908.jar
deleted file mode 100644
index b8d340f32d97d0968ce3cbbca6cf10e533e8478a..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-webapp-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-xml-8.1.21.v20160908.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-xml-8.1.21.v20160908.jar
deleted file mode 100644
index 1bedc9e62e63980b67d760b96e2130b2cd2a5c16..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jetty-xml-8.1.21.v20160908.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar
deleted file mode 100644
index dc2fbb0da849a91a52ecf72778efe2ae961b952b..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/servlet-api-3.0.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/servlet-api-3.0.jar
deleted file mode 100644
index b135409682ee2173ee74cc9e9b00469d7fa0a27e..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/lib/servlet-api-3.0.jar and /dev/null differ
diff --git a/apps/jetty/jetty-distribution-8.1.21.v20160908/start.jar b/apps/jetty/jetty-distribution-8.1.21.v20160908/start.jar
deleted file mode 100644
index 43442c44572ab7dd7386115216e37e5fa55a31fe..0000000000000000000000000000000000000000
Binary files a/apps/jetty/jetty-distribution-8.1.21.v20160908/start.jar and /dev/null differ
diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
index 56c399b9878704b05d5f33bda31fdf156870199e..a65b7bbec697763855f2f7c2e57343bcfe68c64c 100644
--- a/apps/routerconsole/java/build.xml
+++ b/apps/routerconsole/java/build.xml
@@ -365,14 +365,17 @@
             <classpath>
                 <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                 <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
-                <!-- jsp-api.jar only present for debian builds -->
+
+                <!-- following jars only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/jsp-api.jar" />
-                <!-- tomcat-api.jar only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/tomcat-api.jar" />
-                <!-- jasper-el.jar only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/jasper-el.jar" />
+                <pathelement location="../../jetty/jettylib/tomcat-util.jar" />
+                <pathelement location="../../jetty/jettylib/tomcat-util-scan.jar" />
+
                 <pathelement location="../../jetty/jettylib/commons-logging.jar" />
                 <pathelement location="../../jetty/jettylib/commons-el.jar" />
+                <pathelement location="../../jetty/jettylib/jetty-util.jar" />
                 <pathelement location="${ant.home}/lib/ant.jar" />
                 <pathelement location="../../jetty/jettylib/jetty-i2p.jar" />
                 <pathelement location="../../systray/java/build/obj" />
@@ -403,10 +406,13 @@
             <classpath>
                 <pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
                 <pathelement location="../../jetty/jettylib/javax.servlet.jar" />
-                <!-- jsp-api.jar only present for debian builds -->
+
+                <!-- following jars only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/jsp-api.jar" />
-                <!-- tomcat-api.jar only present for debian builds -->
                 <pathelement location="../../jetty/jettylib/tomcat-api.jar" />
+                <pathelement location="../../jetty/jettylib/tomcat-util.jar" />
+                <pathelement location="../../jetty/jettylib/tomcat-util-scan.jar" />
+
                 <pathelement location="../../jetty/jettylib/commons-logging.jar" />
                 <pathelement location="../../jetty/jettylib/commons-el.jar" />
                 <pathelement location="../../jetty/jettylib/org.mortbay.jetty.jar" />
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
index f3dbaf5f546f8c6782b1e152b05eb9591082f1aa..25329c9b5ac9f36ed77306a442d1b9eb6a12b8b6 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
@@ -641,6 +641,18 @@ public class RouterConsoleRunner implements RouterApp {
             rootWebApp = new LocaleWebAppHandler(_context,
                                                   "/", _webAppsDir + ROUTERCONSOLE + ".war",
                                                  tmpdir, rootServletHandler);
+            try {
+                // Not sure who is supposed to call this, but unless we do,
+                // all the jsps die NPE, because JspFactory.getDefaultContext() returns null.
+                // We probably have to do this because we don't bundle the Jetty annotations jar and scanner.
+                // This is only with Tomcat 8, not with the Jetty (Eclipse) jsp impl.
+                // Got a clue from this ancient post for Tomcat 6:
+                // https://bz.apache.org/bugzilla/show_bug.cgi?id=39804
+                // see also apps/jetty/build.xml
+                Class.forName("org.eclipse.jetty.apache.jsp.JettyJasperInitializer");
+            } catch (ClassNotFoundException cnfe) {
+                System.err.println("Warning: JettyJasperInitializer not found");
+            }
             initialize(_context, (WebAppContext)(rootWebApp.getHandler()));
             chColl.addHandler(rootWebApp);
 
diff --git a/apps/susidns/src/build.xml b/apps/susidns/src/build.xml
index ac9a6f63aa3e0e43ecefdfa783d2406fcf82c3c1..06582c7769b5e1dedfe4dbceb07085c0be8feca3 100644
--- a/apps/susidns/src/build.xml
+++ b/apps/susidns/src/build.xml
@@ -16,18 +16,19 @@
                   -->
 		<pathelement location="${lib}/commons-el.jar" />
 		<pathelement location="${lib}/javax.servlet.jar"/>
-                <!-- jsp-api.jar only present for debian builds -->
+
+                <!-- following jars only present for debian builds -->
                 <pathelement location="${lib}/jsp-api.jar" />
-                <!-- tomcat-api.jar only present for debian builds -->
                 <pathelement location="${lib}/tomcat-api.jar" />
-                <!-- tomcat-util.jar only present for debian builds -->
                 <pathelement location="${lib}/tomcat-util.jar" />
+                <pathelement location="${lib}/tomcat-util-scan.jar" />
+		<pathelement location="${lib}/jasper-el.jar" />
+
 		<pathelement location="lib/jstl.jar" />
 		<pathelement location="lib/standard.jar" />
 		<pathelement location="${lib}/jasper-runtime.jar" />
 		<pathelement location="${lib}/commons-logging.jar" />
-                <!-- jasper-el.jar only present for debian builds -->
-		<pathelement location="${lib}/jasper-el.jar" />
+		<pathelement location="${lib}/jetty-util.jar" />
 		<pathelement location="${ant.home}/lib/ant.jar" />
 		<pathelement location="../../../core/java/build/i2p.jar" />
  	</path>
diff --git a/build.properties b/build.properties
index 8aa9bb32757e3baa9c46afdb4d09aba5fa4d4ed4..9577a65b908bc28f6e4289b588ec697940b3e41b 100644
--- a/build.properties
+++ b/build.properties
@@ -131,12 +131,8 @@ javac.version=1.7
 ### Debian/Ubuntu packages ###
 # Don't include geoip files, we will use geoip-database package
 #with-geoip-database=true
-# Don't include jetty files, we will use libjetty8-java package
-#with-libjetty8-java=true
-# Don't include tomcat files, we will use libtomcat6-java package
-#with-libtomcat6-java=true
-# Don't include tomcat files, we will use libtomcat7-java package
-#with-libtomcat7-java=true
+# Don't include jetty files, we will use libjetty9-java package
+#with-libjetty9-java=true
 # Don't include tomcat files, we will use libtomcat8-java package
 #with-libtomcat8-java=true
 # Don't include jstl.jar and standard.jar, we will use glassfish-javaee package
diff --git a/build.xml b/build.xml
index 777e34a0d41a6715947aceea5569967637dca0ba..9b92b1b69dbba57cc0d483781cc7bef36378f01d 100644
--- a/build.xml
+++ b/build.xml
@@ -71,7 +71,7 @@
             <echo message=" " />
             <echo message="sudo apt-get install debhelper ant debconf default-jdk gettext libgmp-dev po-debconf fakeroot \" />
             <echo message="  build-essential quilt libcommons-logging-java dh-apparmor dh-systemd libservice-wrapper-java \"  />
-            <echo message="  devscripts libjetty8-java glassfish-javaee"  />
+            <echo message="  devscripts libjetty9-java glassfish-javaee"  />
             <echo message=" " />
             <echo message="The following command will install the additional runtime dependencies:" />
             <echo message="sudo apt-get install libecj-java geoip-database" />
@@ -1242,7 +1242,7 @@
         <copy file="build/jetty-i2p.jar" todir="pkg-temp/lib" />
     </target>
 
-    <target name="copyjetty-unlesspkg" unless="${with-libjetty8-java}" >
+    <target name="copyjetty-unlesspkg" unless="${with-libjetty9-java}" >
         <copy todir="pkg-temp/lib" >
             <fileset dir="build" includes="javax.servlet.jar jetty*.jar org.mortbay.*.jar" excludes="jetty-i2p.jar" />
         </copy>
@@ -1289,7 +1289,9 @@
     </target>
 
     <target name="preplicenses-unlesspkg" depends="settomcatprop" unless="${with-libtomcat-java}" >
+<!--  replacement?
         <copy file="apps/jetty/apache-tomcat-deployer/NOTICE" tofile="pkg-temp/licenses/NOTICE-Tomcat.txt" />
+-->
     </target>
 
     <!-- DOES include launch4j licenses for Windows builds -->
@@ -2220,19 +2222,14 @@
             <!-- geoip-database -->
             <file name="../i2p-${Extended.Version}/installer/resources/geoip.txt" />
             <file name="../i2p-${Extended.Version}/installer/resources/geoipv6.dat.gz" />
-            <!-- libjetty8-java -->
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/jetty-distribution-8.1.21.v20160908" />
+            <!-- libjetty9-java -->
+            <fileset dir="../i2p-${Extended.Version}/apps/jetty/jetty-distribution-9.2.21.v20170120" />
             <!-- libjstl1.1-java or glassfish-javaee -->
           <!--
             <file name="../i2p-${Extended.Version}/apps/susidns/src/lib/jstl.jar" />
            -->
             <!-- libjakarta-taglibs-standard-java or glassfish-javaee -->
             <file name="../i2p-${Extended.Version}/apps/susidns/src/lib/standard.jar" />
-            <!-- libtomcat6-java or libtomcat7-java -->
-          <!--
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/apache-tomcat" />
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/apache-tomcat-deployer/" />
-           -->
             <!-- anything added above, add in debian-release-tarball also -->
         </delete>
         <tar longfile="gnu" destfile="../${debian.tarball.name}" compression="bzip2">
@@ -2248,10 +2245,6 @@
                 <exclude name="apps/susidns/src/lib/jstl.jar" />
            -->
                 <exclude name="apps/susidns/src/lib/standard.jar" />
-          <!--
-                <exclude name="apps/jetty/apache-tomcat/**"/>
-                <exclude name="apps/jetty/apache-tomcat-deployer/**"/>
-           -->
                 <!-- anything added above, add in debian-release-tarball also -->
             </tarfileset>
             <tarfileset dir="../i2p-${Extended.Version}" prefix="/i2p-${Extended.Version}" filemode="755">
@@ -2302,9 +2295,9 @@
             <!-- geoip-database -->
             <file name="../i2p-${Extended.Version}/installer/resources/geoip.txt" />
             <file name="../i2p-${Extended.Version}/installer/resources/geoipv6.dat.gz" />
-            <!-- libjetty8-java -->
+            <!-- libjetty9-java -->
           <!--
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/jetty-distribution-8.1.21.v20160908" />
+            <fileset dir="../i2p-${Extended.Version}/apps/jetty/jetty-distribution-9.2.21.v20170120" />
            -->
             <!-- libjstl1.1-java or glassfish-javaee -->
           <!--
@@ -2312,11 +2305,6 @@
            -->
             <!-- libjakarta-taglibs-standard-java or glassfish-javaee -->
             <file name="../i2p-${Extended.Version}/apps/susidns/src/lib/standard.jar" />
-            <!-- libtomcat6-java or libtomcat7-java -->
-          <!--
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/apache-tomcat" />
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/apache-tomcat-deployer/" />
-           -->
             <!-- anything added above, add in debian-release-tarball also -->
         </delete>
         <tar longfile="gnu" destfile="../${debian.tarball.name}" compression="bzip2">
@@ -2334,10 +2322,6 @@
                 <exclude name="apps/susidns/src/lib/jstl.jar" />
            -->
                 <exclude name="apps/susidns/src/lib/standard.jar" />
-          <!--
-                <exclude name="apps/jetty/apache-tomcat/**"/>
-                <exclude name="apps/jetty/apache-tomcat-deployer/**"/>
-           -->
                 <!-- anything added above, add in debian-release-tarball also -->
             </tarfileset>
             <tarfileset dir="../i2p-${Extended.Version}" prefix="/i2p-${Extended.Version}" filemode="755">
@@ -2381,15 +2365,11 @@
            -->
             <file name="../i2p-${Extended.Version}/installer/resources/geoip.txt" />
             <file name="../i2p-${Extended.Version}/installer/resources/geoipv6.dat.gz" />
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/jetty-distribution-8.1.21.v20160908" />
+            <fileset dir="../i2p-${Extended.Version}/apps/jetty/jetty-distribution-9.2.21.v20170120" />
           <!--
             <file name="../i2p-${Extended.Version}/apps/susidns/src/lib/jstl.jar" />
            -->
             <file name="../i2p-${Extended.Version}/apps/susidns/src/lib/standard.jar" />
-          <!--
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/apache-tomcat" />
-            <fileset dir="../i2p-${Extended.Version}/apps/jetty/apache-tomcat-deployer/" />
-           -->
             <!-- anything added above, add in debian-tarball also -->
         </delete>
         <tar longfile="gnu" destfile="../${debian.tarball.name}" compression="bzip2">
@@ -2405,10 +2385,6 @@
                 <exclude name="apps/susidns/src/lib/jstl.jar" />
            -->
                 <exclude name="apps/susidns/src/lib/standard.jar" />
-          <!--
-                <exclude name="apps/jetty/apache-tomcat/**"/>
-                <exclude name="apps/jetty/apache-tomcat-deployer/**"/>
-           -->
                 <!-- anything added above, add in debian-tarball also -->
             </tarfileset>
             <tarfileset dir="../i2p-${Extended.Version}" prefix="/i2p-${release.number}" filemode="755">
diff --git a/debian-alt/doc/dependencies.txt b/debian-alt/doc/dependencies.txt
index 4dbd063b2c16628e083c374045cba313546b163f..1fcd8601d5de70128c6f3e8149eb83db30806995 100644
--- a/debian-alt/doc/dependencies.txt
+++ b/debian-alt/doc/dependencies.txt
@@ -41,8 +41,8 @@ Current Runtime Dependencies
   For /usr/share/java/gnu-getopt.jar.
   In non-Debian builds we bundle the source code; it's removed in the Debian source package.
 
-* libjetty8-java
-  For /usr/share/java/jetty8-*.jar.
+* libjetty9-java
+  For /usr/share/java/jetty9-*.jar.
   In non-Debian builds we bundle the jars; it's removed in the Debian source package.
   For some Debian and Ubuntu releases, these seem to be much older than what we're bundling,
   which is 8.1.21, but there's no particular version that we need.
@@ -52,7 +52,7 @@ Current Runtime Dependencies
   Jetty 9.2.x is in recent Ubuntu and Debian.
   Jetty 9 ticket is https://trac.i2p2.de/ticket/1512
   Updating Jetty may break external plugins. Extensive testing is required.
-  Note that the libjetty8-java dependency brings in libservlet3.0-java which we require.
+  Note that the libjetty9-java dependency brings in libservlet3.0-java which we require.
 
 * glassfish-javaee
   We need jstl.jar and standard.jar version 1.2.
diff --git a/debian-alt/precise/i2p-router.install b/debian-alt/precise/i2p-router.install
index 2234bf8cddb0afec4b896227b80afdedfee31fd9..99683be0f5d5c0a07e9f4ef04d90f19454ec958c 100644
--- a/debian-alt/precise/i2p-router.install
+++ b/debian-alt/precise/i2p-router.install
@@ -34,7 +34,7 @@ pkg-temp/lib/streaming.jar usr/share/i2p/lib
 pkg-temp/lib/systray.jar usr/share/i2p/lib
 
 
-# uncomment if not building with libjetty8-java
+# uncomment if not building with libjetty9-java
 # ubuntu: in trusty vivid wily xenial
 # debian: in wheezy jessie stretch sid
 pkg-temp/lib/jetty-continuation.jar usr/share/i2p/lib
@@ -51,7 +51,7 @@ pkg-temp/lib/jetty-webapp.jar usr/share/i2p/lib
 pkg-temp/lib/jetty-xml.jar usr/share/i2p/lib
 pkg-temp/lib/org.mortbay.jetty.jar usr/share/i2p/lib
 pkg-temp/lib/org.mortbay.jmx.jar usr/share/i2p/lib
-# following two are from libservlet3.0-java which is a dependency of libjetty8-java
+# following two are from libservlet3.1-java which is a dependency of libjetty9-java
 pkg-temp/lib/javax.servlet.jar usr/share/i2p/lib
 
 
diff --git a/debian-alt/precise/i2p-router.links b/debian-alt/precise/i2p-router.links
index e3aa80d785b1daad46b3282bb3db8a91dc6d4223..0ac85f6f58e27fb60db1df1321f05f5f56061132 100644
--- a/debian-alt/precise/i2p-router.links
+++ b/debian-alt/precise/i2p-router.links
@@ -6,64 +6,31 @@ usr/share/common-licenses/BSD usr/share/doc/i2p-router/licenses/LICENSE-BSD.txt
 usr/share/java/eclipse-ecj.jar usr/share/i2p/lib/eclipse-ecj.jar
 
 
-# comment out if not building with libjetty8-java
+# comment out if not building with libjetty9-java
 # ubuntu: in trusty vivid wily xenial
 # debian: in wheezy jessie stretch sid
-#usr/share/java/jetty8-continuation.jar usr/share/i2p/lib/jetty-continuation.jar
-#usr/share/java/jetty8-deploy.jar usr/share/i2p/lib/jetty-deploy.jar
-#usr/share/java/jetty8-http.jar usr/share/i2p/lib/jetty-http.jar
-#usr/share/java/jetty8-io.jar usr/share/i2p/lib/jetty-io.jar
+#usr/share/java/jetty9-continuation.jar usr/share/i2p/lib/jetty-continuation.jar
+#usr/share/java/jetty9-deploy.jar usr/share/i2p/lib/jetty-deploy.jar
+#usr/share/java/jetty9-http.jar usr/share/i2p/lib/jetty-http.jar
+#usr/share/java/jetty9-io.jar usr/share/i2p/lib/jetty-io.jar
 # legacy name in lib/
-#usr/share/java/jetty8-rewrite.jar usr/share/i2p/lib/jetty-rewrite-handler.jar
-#usr/share/java/jetty8-security.jar usr/share/i2p/lib/jetty-security.jar
-#usr/share/java/jetty8-servlet.jar usr/share/i2p/lib/jetty-servlet.jar
-#usr/share/java/jetty8-servlets.jar usr/share/i2p/lib/jetty-servlets.jar
-#usr/share/java/jetty8-start.jar usr/share/i2p/lib/jetty-start.jar
-#usr/share/java/jetty8-util.jar usr/share/i2p/lib/jetty-util.jar
-#usr/share/java/jetty8-webapp.jar usr/share/i2p/lib/jetty-webapp.jar
-#usr/share/java/jetty8-xml.jar usr/share/i2p/lib/jetty-xml.jar
+#usr/share/java/jetty9-rewrite.jar usr/share/i2p/lib/jetty-rewrite-handler.jar
+#usr/share/java/jetty9-security.jar usr/share/i2p/lib/jetty-security.jar
+#usr/share/java/jetty9-servlet.jar usr/share/i2p/lib/jetty-servlet.jar
+#usr/share/java/jetty9-servlets.jar usr/share/i2p/lib/jetty-servlets.jar
+#usr/share/java/jetty9-start.jar usr/share/i2p/lib/jetty-start.jar
+#usr/share/java/jetty9-util.jar usr/share/i2p/lib/jetty-util.jar
+#usr/share/java/jetty9-webapp.jar usr/share/i2p/lib/jetty-webapp.jar
+#usr/share/java/jetty9-xml.jar usr/share/i2p/lib/jetty-xml.jar
 # legacy name in lib/
-#usr/share/java/jetty8-server.jar usr/share/i2p/lib/org.mortbay.jetty.jar
+#usr/share/java/jetty9-server.jar usr/share/i2p/lib/org.mortbay.jetty.jar
 # legacy name in lib/
-#usr/share/java/jetty8-jmx.jar usr/share/i2p/lib/org.mortbay.jmx.jar
-# following two are from libservlet3.0-java which is a dependency of libjetty8-java
+#usr/share/java/jetty9-jmx.jar usr/share/i2p/lib/org.mortbay.jmx.jar
+# following two are from libservlet3.1-java which is a dependency of libjetty9-java
 # legacy name in lib/
-#usr/share/java/servlet-api-3.0.jar usr/share/i2p/lib/javax.servlet.jar
+#usr/share/java/servlet-api-3.1.jar usr/share/i2p/lib/javax.servlet.jar
 # combined into javax.servlet.jar in non-package builds
-#usr/share/java/jsp-api-2.2.jar usr/share/i2p/lib/jsp-api.jar
-
-
-# comment out if not building with libtomcat6-java
-# ubuntu: only in precise trusty vivid
-# debian: only in wheezy
-# legacy name, contains only tomcat-juli, not commons-logging
-#usr/share/java/tomcat-juli.jar usr/share/i2p/lib/commons-logging.jar
-#usr/share/java/jasper.jar usr/share/i2p/lib/jasper-runtime.jar
-# combined into jasper-runtime.jar in non-package builds
-#usr/share/java/tomcat-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
-# combined into commons-el.jar in non-package builds
-#usr/share/java/jasper-el.jar usr/share/i2p/lib/jasper-el.jar
-# following is from libservlet2.5-java which is a dependency of libtomcat6-java
-# legacy name in lib/
-#usr/share/java/el-api-2.1.jar usr/share/i2p/lib/commons-el.jar
-
-
-# comment out if not building with libtomcat7-java
-# ubuntu: only in precise trusty vivid
-# debian: only in wheezy
-# legacy name, contains only tomcat-juli, not commons-logging
-#usr/share/java/tomcat-juli.jar usr/share/i2p/lib/commons-logging.jar
-#usr/share/java/tomcat-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
-# combined into jasper-runtime.jar in non-package builds
-#usr/share/java/tomcat-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
-# tomcat 7 only
-#usr/share/java/tomcat-api.jar usr/share/i2p/lib/tomcat-api.jar
-#usr/share/java/tomcat-util.jar usr/share/i2p/lib/tomcat-util.jar
-# combined into commons-el.jar in non-package builds
-#usr/share/java/tomcat-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
-# following is from libservlet3.0-java which is a dependency of libtomcat7-java
-# legacy name in lib/
-#usr/share/java/el-api-2.2.jar usr/share/i2p/lib/commons-el.jar
+#usr/share/java/jsp-api-2.3.jar usr/share/i2p/lib/jsp-api.jar
 
 
 # comment out if not building with glassfish-javaee
diff --git a/debian-alt/precise/rules b/debian-alt/precise/rules
index 4afb56418934da9d2007a2fc1fbf5ef76429a448..2cb94b3931f4a9a75cf9c54a60ee48b7c36e57bd 100755
--- a/debian-alt/precise/rules
+++ b/debian-alt/precise/rules
@@ -86,48 +86,25 @@ endif
 
 	@# ubuntu: not in precise
 	@# debian: in wheezy jessie stretch sid
-	@#/bin/echo -e "with-libjetty8-java=true" >> $(CURDIR)/override.properties
+	@#/bin/echo -e "with-libjetty9-java=true" >> $(CURDIR)/override.properties
 	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/jetty8-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
-	@#ln -sf /usr/share/java/jetty8-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
-	@#ln -sf /usr/share/java/jetty8-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
-	@#ln -sf /usr/share/java/jetty8-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
-	@#ln -sf /usr/share/java/jetty8-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
-	@#ln -sf /usr/share/java/jetty8-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
-	@#ln -sf /usr/share/java/jetty8-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
-	@#ln -sf /usr/share/java/jetty8-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
-	@#ln -sf /usr/share/java/jetty8-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
-	@#ln -sf /usr/share/java/jetty8-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
-	@#ln -sf /usr/share/java/jetty8-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
-	@#ln -sf /usr/share/java/jetty8-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
-	@#ln -sf /usr/share/java/jetty8-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
-	@#ln -sf /usr/share/java/jetty8-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
-	@# following two are from libservlet3.0-java which is a dependency of libjetty8-java
-	@#ln -sf /usr/share/java/servlet-api-3.0.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
-	@#ln -sf /usr/share/java/jsp-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
-
-	@# ubuntu: only in precise trusty vivid
-	@# debian: only in wheezy
-	@#@/bin/echo -e "with-libtomcat6-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet2.5-java which is a dependency of libtomcat6-java
-	@#ln -sf /usr/share/java/el-api-2.1.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
-
-	@# debian and ubuntu: everywhere
-	@#/bin/echo -e "with-libtomcat7-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/tomcat-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
-	@#ln -sf /usr/share/java/tomcat-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/tomcat-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet3.0-java which is a dependency of libtomcat7-java
-	@#ln -sf /usr/share/java/el-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+	@#ln -sf /usr/share/java/jetty9-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
+	@#ln -sf /usr/share/java/jetty9-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
+	@#ln -sf /usr/share/java/jetty9-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
+	@#ln -sf /usr/share/java/jetty9-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
+	@#ln -sf /usr/share/java/jetty9-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
+	@#ln -sf /usr/share/java/jetty9-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
+	@#ln -sf /usr/share/java/jetty9-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
+	@#ln -sf /usr/share/java/jetty9-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
+	@#ln -sf /usr/share/java/jetty9-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
+	@#ln -sf /usr/share/java/jetty9-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
+	@#ln -sf /usr/share/java/jetty9-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
+	@#ln -sf /usr/share/java/jetty9-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
+	@#ln -sf /usr/share/java/jetty9-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
+	@#ln -sf /usr/share/java/jetty9-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
+	@# following two are from libservlet3.1-java which is a dependency of libjetty9-java
+	@#ln -sf /usr/share/java/servlet-api-3.1.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
+	@#ln -sf /usr/share/java/jsp-api-2.3.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
 
 	@# debian and ubuntu: everywhere
 	@/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties
diff --git a/debian-alt/trusty/control b/debian-alt/trusty/control
new file mode 100644
index 0000000000000000000000000000000000000000..309b91de193ab4719775de03a55149db9ed40e09
--- /dev/null
+++ b/debian-alt/trusty/control
@@ -0,0 +1,109 @@
+Source: i2p
+Maintainer: zzz <zzz@i2pmail.org>
+Section: net
+Standards-Version: 3.9.6
+Priority: optional
+Bugs: mailto:zzz@i2pmail.org
+Homepage: https://geti2p.net/
+Build-Depends: debhelper (>= 7.0.50~)
+ ,ant (>= 1.8)
+ ,ant-optional
+ ,debconf
+ ,openjdk-7-jdk
+# Ant requires java 6 tools.jar:
+# Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk-amd64/lib/tools.jar
+ ,openjdk-6-jdk
+ ,dh-apparmor
+ ,gettext
+ ,libgetopt-java
+ ,libgmp-dev (>= 2:5.0.2)
+ ,libservice-wrapper-java
+ ,hardening-wrapper
+ ,po-debconf
+
+Package: i2p
+Architecture: all
+Section: net
+Priority: optional
+Depends: ${java:Depends}, ${shlibs:Depends},
+ adduser,
+ debconf,
+ i2p-router (>= 0.8.6-5),
+ libjbigi-jni,
+ lsb-base,
+ service-wrapper
+Description: I2P anonymous network
+ I2P is an anonymizing network, offering a simple layer that identity-sensitive
+ applications can use to securely communicate. All data is wrapped with several
+ layers of encryption, and the network is both distributed and dynamic, with no
+ trusted parties.
+ .
+ This package depends on the router, jbigi, the java service wrapper, and
+ includes support to run I2P as a daemon.
+
+Package: libjbigi-jni
+Architecture: any
+Section: java
+Priority: optional
+Depends: ${shlibs:Depends}, i2p-router
+Homepage: https://geti2p.net/
+Description: I2P libjbigi library
+ This Package contains the libjbigi JNI library (and on x86 platforms, jcpuid).
+ .
+ libjbigi is a math library that is part of the I2P installation.  Use of this
+ library greatly enhances the efficiency of cryptographic algorithms, such as
+ the ones used by I2P. You can expect to see a 5-7x speed improvement on certain
+ tasks, such as elGamal encryption/decryption.
+
+Package: i2p-doc
+Architecture: all
+Section: doc
+Priority: extra
+Depends: ${misc:Depends}
+Suggests: i2p, default-jdk-doc
+Description: I2P developer documentation
+ I2P is an anonymizing network, offering a simple layer that identity-sensitive
+ applications can use to securely communicate. All data is wrapped with several
+ layers of encryption, and the network is both distributed and dynamic, with no
+ trusted parties.
+ .
+ This package contains the Javadoc files.
+
+Package: i2p-router
+Architecture: all
+Section: net
+Priority: optional
+Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
+ openjdk-8-jre-headless | openjdk-7-jre-headless | java8-runtime-headless | java7-runtime-headless,
+ libecj-java,
+ geoip-database,
+ gettext-base,
+ libgetopt-java,
+Replaces: i2p ( << 0.8.6-5)
+Breaks: i2p (<< 0.8.6-5)
+Recommends: libjbigi-jni, ttf-dejavu
+Suggests: tor
+ ,apparmor
+ ,i2p-messenger
+ ,i2phex
+ ,i2p-tahoe-lafs
+ ,imule
+ ,irc-client
+ ,itoopie
+ ,mail-client
+ ,mail-reader
+ ,news-reader
+ ,polipo
+ ,privoxy
+ ,robert
+ ,syndie
+ ,www-browser
+ ,xul-ext-torbutton
+Description: I2P router
+ I2P is an anonymizing network, offering a simple layer that identity-sensitive
+ applications can use to securely communicate. All data is wrapped with several
+ layers of encryption, and the network is both distributed and dynamic, with no
+ trusted parties.
+ .
+ TrueType fonts (such as those provided in the package ttf-dejavu) are required
+ in order to generate graphs.
diff --git a/debian-alt/trusty/i2p-router.install b/debian-alt/trusty/i2p-router.install
new file mode 100644
index 0000000000000000000000000000000000000000..431e32c87b99526178224ba4908084d36371f654
--- /dev/null
+++ b/debian-alt/trusty/i2p-router.install
@@ -0,0 +1,73 @@
+# history.txt is installed to /usr/share/i2p because
+# it's shown in the router console at http://127.0.0.1:7657
+# (this is also why I don't use dh_installchangelogs -k for it)
+history.txt usr/share/i2p
+
+pkg-temp/blocklist.txt usr/share/i2p
+pkg-temp/certificates usr/share/i2p
+pkg-temp/clients.config usr/share/i2p
+pkg-temp/docs usr/share/i2p/
+pkg-temp/eepget usr/bin
+pkg-temp/eepsite usr/share/i2p
+pkg-temp/geoip usr/share/i2p
+pkg-temp/hosts.txt usr/share/i2p
+pkg-temp/i2prouter-nowrapper usr/bin
+pkg-temp/i2psnark.config usr/share/i2p
+pkg-temp/i2ptunnel.config usr/share/i2p
+pkg-temp/router.config usr/share/i2p
+pkg-temp/systray.config usr/share/i2p
+pkg-temp/webapps usr/share/i2p
+
+
+pkg-temp/lib/BOB.jar usr/share/i2p/lib
+pkg-temp/lib/desktopgui.jar usr/share/i2p/lib
+pkg-temp/lib/i2p.jar usr/share/i2p/lib
+pkg-temp/lib/i2psnark.jar usr/share/i2p/lib
+pkg-temp/lib/i2ptunnel.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-i2p.jar usr/share/i2p/lib
+pkg-temp/lib/jrobin.jar usr/share/i2p/lib
+pkg-temp/lib/mstreaming.jar usr/share/i2p/lib
+pkg-temp/lib/routerconsole.jar usr/share/i2p/lib
+pkg-temp/lib/router.jar usr/share/i2p/lib
+pkg-temp/lib/sam.jar usr/share/i2p/lib
+pkg-temp/lib/streaming.jar usr/share/i2p/lib
+pkg-temp/lib/systray.jar usr/share/i2p/lib
+
+
+# uncomment if not building with libjetty9-java
+# ubuntu: in trusty vivid wily xenial
+# debian: in wheezy jessie stretch sid
+pkg-temp/lib/jetty-continuation.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-deploy.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-http.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-io.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-rewrite-handler.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-security.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-servlet.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-servlets.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-start.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-util.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-webapp.jar usr/share/i2p/lib
+pkg-temp/lib/jetty-xml.jar usr/share/i2p/lib
+pkg-temp/lib/org.mortbay.jetty.jar usr/share/i2p/lib
+pkg-temp/lib/org.mortbay.jmx.jar usr/share/i2p/lib
+# following two are from libservlet3.0-java which is a dependency of libjetty9-java
+pkg-temp/lib/javax.servlet.jar usr/share/i2p/lib
+
+
+# uncomment if not building with libtomcat8-java
+pkg-temp/lib/commons-el.jar usr/share/i2p/lib
+# legacy name, contains only tomcat-juli, not commons-logging
+pkg-temp/lib/commons-logging.jar usr/share/i2p/lib
+pkg-temp/lib/jasper-runtime.jar usr/share/i2p/lib
+
+
+# uncomment if not building with either glassfish-javaee or libjakarta-taglibs-standard-java
+# ubuntu and debian: everywhere
+# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail
+pkg-temp/lib/jstl.jar usr/share/i2p/lib
+
+
+# uncomment if not building with either glassfish-javaee or libjstl1.1-java
+# ubuntu and debian: everywhere
+#pkg-temp/lib/standard.jar usr/share/i2p/lib
diff --git a/debian-alt/trusty/i2p-router.links b/debian-alt/trusty/i2p-router.links
new file mode 100644
index 0000000000000000000000000000000000000000..0ac85f6f58e27fb60db1df1321f05f5f56061132
--- /dev/null
+++ b/debian-alt/trusty/i2p-router.links
@@ -0,0 +1,68 @@
+usr/share/common-licenses/GPL-2 usr/share/doc/i2p-router/licenses/LICENSE-GPLv2.txt
+usr/share/common-licenses/LGPL-2.1 usr/share/doc/i2p-router/licenses/LICENSE-LGPLv2.1.txt
+usr/share/common-licenses/Apache-2.0 usr/share/doc/i2p-router/licenses/LICENSE-Apache2.0.txt
+usr/share/common-licenses/BSD usr/share/doc/i2p-router/licenses/LICENSE-BSD.txt
+
+usr/share/java/eclipse-ecj.jar usr/share/i2p/lib/eclipse-ecj.jar
+
+
+# comment out if not building with libjetty9-java
+# ubuntu: in trusty vivid wily xenial
+# debian: in wheezy jessie stretch sid
+#usr/share/java/jetty9-continuation.jar usr/share/i2p/lib/jetty-continuation.jar
+#usr/share/java/jetty9-deploy.jar usr/share/i2p/lib/jetty-deploy.jar
+#usr/share/java/jetty9-http.jar usr/share/i2p/lib/jetty-http.jar
+#usr/share/java/jetty9-io.jar usr/share/i2p/lib/jetty-io.jar
+# legacy name in lib/
+#usr/share/java/jetty9-rewrite.jar usr/share/i2p/lib/jetty-rewrite-handler.jar
+#usr/share/java/jetty9-security.jar usr/share/i2p/lib/jetty-security.jar
+#usr/share/java/jetty9-servlet.jar usr/share/i2p/lib/jetty-servlet.jar
+#usr/share/java/jetty9-servlets.jar usr/share/i2p/lib/jetty-servlets.jar
+#usr/share/java/jetty9-start.jar usr/share/i2p/lib/jetty-start.jar
+#usr/share/java/jetty9-util.jar usr/share/i2p/lib/jetty-util.jar
+#usr/share/java/jetty9-webapp.jar usr/share/i2p/lib/jetty-webapp.jar
+#usr/share/java/jetty9-xml.jar usr/share/i2p/lib/jetty-xml.jar
+# legacy name in lib/
+#usr/share/java/jetty9-server.jar usr/share/i2p/lib/org.mortbay.jetty.jar
+# legacy name in lib/
+#usr/share/java/jetty9-jmx.jar usr/share/i2p/lib/org.mortbay.jmx.jar
+# following two are from libservlet3.1-java which is a dependency of libjetty9-java
+# legacy name in lib/
+#usr/share/java/servlet-api-3.1.jar usr/share/i2p/lib/javax.servlet.jar
+# combined into javax.servlet.jar in non-package builds
+#usr/share/java/jsp-api-2.3.jar usr/share/i2p/lib/jsp-api.jar
+
+
+# comment out if not building with glassfish-javaee
+# glassfish-javaee.jar has ancient and conflicting classes, e.g. javax.mail
+#usr/share/java/glassfish-javaee.jar usr/share/i2p/lib/jstl.jar
+usr/share/java/glassfish-appserv-jstl.jar usr/share/i2p/lib/standard.jar
+
+
+# comment out if not building with libjakarta-taglibs-standard-java
+# ubuntu and debian: everywhere
+#usr/share/java/standard.jar usr/share/i2p/lib/standard.jar
+
+
+# comment out if not building with libjstl1.1-java
+# ubuntu and debian: everywhere
+#usr/share/java/jstl1.1.jar usr/share/i2p/lib/jstl.jar
+
+
+# comment out if not building with gettext-base
+# ubuntu and debian: everywhere
+usr/share/java/libintl.jar usr/share/i2p/lib/libintl.jar
+
+
+# comment out if not building with libgetopt-java
+# ubuntu and debian: everywhere
+usr/share/java/gnu-getopt.jar usr/share/i2p/lib/gnu-getopt.jar
+
+
+# comment out if not building with libhttpclient-java and libhttpcore-java
+# 2 MB of dependencies vs. 20 KB of copied source
+# Requires 4.4 or higher.
+# Debian: Not in wheezy/jessie
+# Ubuntu: Only in wily and later
+#usr/share/java/httpclient.jar usr/share/i2p/lib/httpclient.jar
+#usr/share/java/httpcore.jar usr/share/i2p/lib/httpcore.jar
diff --git a/debian-alt/trusty/rules b/debian-alt/trusty/rules
index 257162006c15793ed304fb7c097357e17eef74f0..19dc1fa0a89e1d4a4280a4e5b38c79a0172b4ab9 100755
--- a/debian-alt/trusty/rules
+++ b/debian-alt/trusty/rules
@@ -85,48 +85,25 @@ endif
 
 	@# ubuntu: not in precise
 	@# debian: in wheezy jessie stretch sid
-	@/bin/echo -e "with-libjetty8-java=true" >> $(CURDIR)/override.properties
-	mkdir -p $(CURDIR)/apps/jetty/jettylib
-	ln -sf /usr/share/java/jetty8-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
-	ln -sf /usr/share/java/jetty8-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
-	ln -sf /usr/share/java/jetty8-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
-	ln -sf /usr/share/java/jetty8-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
-	ln -sf /usr/share/java/jetty8-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
-	ln -sf /usr/share/java/jetty8-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
-	ln -sf /usr/share/java/jetty8-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
-	ln -sf /usr/share/java/jetty8-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
-	ln -sf /usr/share/java/jetty8-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
-	ln -sf /usr/share/java/jetty8-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
-	ln -sf /usr/share/java/jetty8-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
-	ln -sf /usr/share/java/jetty8-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
-	ln -sf /usr/share/java/jetty8-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
-	ln -sf /usr/share/java/jetty8-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
-	@# following two are from libservlet3.0-java which is a dependency of libjetty8-java
-	ln -sf /usr/share/java/servlet-api-3.0.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
-	ln -sf /usr/share/java/jsp-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
-
-	@# ubuntu: only in precise trusty vivid
-	@# debian: only in wheezy
-	@#@/bin/echo -e "with-libtomcat6-java=true" >> $(CURDIR)/override.properties
+	@#/bin/echo -e "with-libjetty9-java=true" >> $(CURDIR)/override.properties
 	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet2.5-java which is a dependency of libtomcat6-java
-	@#ln -sf /usr/share/java/el-api-2.1.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
-
-	@# debian and ubuntu: everywhere
-	@#/bin/echo -e "with-libtomcat7-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/tomcat-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
-	@#ln -sf /usr/share/java/tomcat-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/tomcat-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet3.0-java which is a dependency of libtomcat7-java
-	@#ln -sf /usr/share/java/el-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+	@#ln -sf /usr/share/java/jetty9-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
+	@#ln -sf /usr/share/java/jetty9-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
+	@#ln -sf /usr/share/java/jetty9-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
+	@#ln -sf /usr/share/java/jetty9-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
+	@#ln -sf /usr/share/java/jetty9-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
+	@#ln -sf /usr/share/java/jetty9-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
+	@#ln -sf /usr/share/java/jetty9-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
+	@#ln -sf /usr/share/java/jetty9-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
+	@#ln -sf /usr/share/java/jetty9-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
+	@#ln -sf /usr/share/java/jetty9-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
+	@#ln -sf /usr/share/java/jetty9-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
+	@#ln -sf /usr/share/java/jetty9-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
+	@#ln -sf /usr/share/java/jetty9-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
+	@#ln -sf /usr/share/java/jetty9-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
+	@# following two are from libservlet3.1-java which is a dependency of libjetty9-java
+	@#ln -sf /usr/share/java/servlet-api-3.1.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
+	@#ln -sf /usr/share/java/jsp-api-2.3.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
 
 	@# debian and ubuntu: everywhere
 	@/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties
diff --git a/debian-alt/xenial/control b/debian-alt/xenial/control
index 7b55ca96762395f18f1e77dcb8141bc8e8b3382c..7798c677b811194b983ad1b22f655054d7f10f35 100644
--- a/debian-alt/xenial/control
+++ b/debian-alt/xenial/control
@@ -10,7 +10,9 @@ Build-Depends: debhelper (>= 7.0.50~)
  ,ant-optional
  ,debconf
  ,openjdk-8-jdk
+ ,libjetty9-java
  ,glassfish-javaee
+ ,libtomcat8-java
  ,dh-apparmor
  ,gettext
  ,libgetopt-java
@@ -73,11 +75,12 @@ Section: net
 Priority: optional
 Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
  openjdk-8-jre-headless | java8-runtime-headless,
- libecj-java,
+ libjetty9-java,
+ glassfish-javaee,
+ libtomcat8-java,
  geoip-database,
  gettext-base,
  libgetopt-java,
- glassfish-javaee
 Replaces: i2p ( << 0.8.6-5)
 Breaks: i2p (<< 0.8.6-5)
 Recommends: libjbigi-jni, ttf-dejavu
diff --git a/debian-alt/xenial/rules b/debian-alt/xenial/rules
index 4e87fc72bb429caf40f9fc2402dde4df15cadb90..214af97726f9a251341c1a11e6f30caf056436b6 100755
--- a/debian-alt/xenial/rules
+++ b/debian-alt/xenial/rules
@@ -85,48 +85,38 @@ endif
 
 	@# ubuntu: not in precise
 	@# debian: in wheezy jessie stretch sid
-	@/bin/echo -e "with-libjetty8-java=true" >> $(CURDIR)/override.properties
+	@/bin/echo -e "with-libjetty9-java=true" >> $(CURDIR)/override.properties
 	mkdir -p $(CURDIR)/apps/jetty/jettylib
-	ln -sf /usr/share/java/jetty8-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
-	ln -sf /usr/share/java/jetty8-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
-	ln -sf /usr/share/java/jetty8-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
-	ln -sf /usr/share/java/jetty8-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
-	ln -sf /usr/share/java/jetty8-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
-	ln -sf /usr/share/java/jetty8-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
-	ln -sf /usr/share/java/jetty8-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
-	ln -sf /usr/share/java/jetty8-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
-	ln -sf /usr/share/java/jetty8-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
-	ln -sf /usr/share/java/jetty8-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
-	ln -sf /usr/share/java/jetty8-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
-	ln -sf /usr/share/java/jetty8-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
-	ln -sf /usr/share/java/jetty8-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
-	ln -sf /usr/share/java/jetty8-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
-	@# following two are from libservlet3.0-java which is a dependency of libjetty8-java
-	ln -sf /usr/share/java/servlet-api-3.0.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
-	ln -sf /usr/share/java/jsp-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
-
-	@# ubuntu: only in precise trusty vivid
-	@# debian: only in wheezy
-	@#@/bin/echo -e "with-libtomcat6-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet2.5-java which is a dependency of libtomcat6-java
-	@#ln -sf /usr/share/java/el-api-2.1.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
-
-	@# debian and ubuntu: everywhere
-	@#/bin/echo -e "with-libtomcat7-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/tomcat-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
-	@#ln -sf /usr/share/java/tomcat-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/tomcat-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet3.0-java which is a dependency of libtomcat7-java
-	@#ln -sf /usr/share/java/el-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+	ln -sf /usr/share/java/jetty9-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
+	ln -sf /usr/share/java/jetty9-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
+	ln -sf /usr/share/java/jetty9-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
+	ln -sf /usr/share/java/jetty9-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
+	ln -sf /usr/share/java/jetty9-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
+	ln -sf /usr/share/java/jetty9-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
+	ln -sf /usr/share/java/jetty9-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
+	ln -sf /usr/share/java/jetty9-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
+	ln -sf /usr/share/java/jetty9-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
+	ln -sf /usr/share/java/jetty9-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
+	ln -sf /usr/share/java/jetty9-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
+	ln -sf /usr/share/java/jetty9-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
+	ln -sf /usr/share/java/jetty9-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
+	ln -sf /usr/share/java/jetty9-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
+	@# following two are from libservlet3.1-java which is a dependency of libjetty9-java
+	ln -sf /usr/share/java/servlet-api-3.1.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
+        @# this is roughly the same as tomcat8-jsp-api.jar, we use this one
+	ln -sf /usr/share/java/jsp-api-2.3.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
+
+	@# debian and ubuntu: wheezy-backports, jessie+, xenial+
+	/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
+	mkdir -p $(CURDIR)/apps/jetty/jettylib
+	ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
+	ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
+	ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
+	ln -sf /usr/share/java/tomcat8-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
+	ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
+	ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
+	ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
+	ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
 
 	@# debian and ubuntu: everywhere
 	@/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties
diff --git a/debian/control b/debian/control
index 7a9a12c20b5b84882febe9089707d1d7369ddb24..03da0745bd5d06688e28d6cb0690743f09bdddaf 100644
--- a/debian/control
+++ b/debian/control
@@ -10,8 +10,9 @@ Build-Depends: debhelper (>= 7.0.50~)
  ,ant-optional
  ,debconf
  ,openjdk-7-jdk
- ,libjetty8-java, libservlet3.0-java
+ ,libjetty9-java
  ,glassfish-javaee
+ ,libtomcat8-java
  ,dh-apparmor
  ,gettext
  ,libgetopt-java
@@ -79,8 +80,9 @@ Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
  geoip-database,
  gettext-base,
  libgetopt-java,
- libjetty8-java, libservlet3.0-java,
- glassfish-javaee
+ libjetty9-java,
+ glassfish-javaee,
+ libtomcat8-java
 Replaces: i2p ( << 0.8.6-5)
 Breaks: i2p (<< 0.8.6-5)
 Recommends: libjbigi-jni, ttf-dejavu
diff --git a/debian/i2p-router.install b/debian/i2p-router.install
index a61b4e834ea49d56eac9117bb0c7735a0501e32c..2b4f934df39fc5c6653baa2bc5f09c758b20ba10 100644
--- a/debian/i2p-router.install
+++ b/debian/i2p-router.install
@@ -34,7 +34,7 @@ pkg-temp/lib/streaming.jar usr/share/i2p/lib
 pkg-temp/lib/systray.jar usr/share/i2p/lib
 
 
-# uncomment if not building with libjetty8-java
+# uncomment if not building with libjetty9-java
 # ubuntu: in trusty vivid wily xenial
 # debian: in wheezy jessie stretch sid
 #pkg-temp/lib/jetty-continuation.jar usr/share/i2p/lib
@@ -51,11 +51,11 @@ pkg-temp/lib/systray.jar usr/share/i2p/lib
 #pkg-temp/lib/jetty-xml.jar usr/share/i2p/lib
 #pkg-temp/lib/org.mortbay.jetty.jar usr/share/i2p/lib
 #pkg-temp/lib/org.mortbay.jmx.jar usr/share/i2p/lib
-# following two are from libservlet3.0-java which is a dependency of libjetty8-java
+# following two are from libservlet3.0-java which is a dependency of libjetty9-java
 #pkg-temp/lib/javax.servlet.jar usr/share/i2p/lib
 
 
-# uncomment if not building with either libtomcat6-java or libtomcat7-java
+# uncomment if not building with libtomcat8-java
 pkg-temp/lib/commons-el.jar usr/share/i2p/lib
 # legacy name, contains only tomcat-juli, not commons-logging
 pkg-temp/lib/commons-logging.jar usr/share/i2p/lib
diff --git a/debian/i2p-router.links b/debian/i2p-router.links
index e32b48b497541297215245d8440dd4ad37482a49..5fd470ffa3d9b434c4e9bc394bca45845b19b6e0 100644
--- a/debian/i2p-router.links
+++ b/debian/i2p-router.links
@@ -6,81 +6,49 @@ usr/share/common-licenses/BSD usr/share/doc/i2p-router/licenses/LICENSE-BSD.txt
 usr/share/java/eclipse-ecj.jar usr/share/i2p/lib/eclipse-ecj.jar
 
 
-# comment out if not building with libjetty8-java
+# comment out if not building with libjetty9-java
 # ubuntu: in trusty vivid wily xenial
 # debian: in wheezy jessie stretch sid
-usr/share/java/jetty8-continuation.jar usr/share/i2p/lib/jetty-continuation.jar
-usr/share/java/jetty8-deploy.jar usr/share/i2p/lib/jetty-deploy.jar
-usr/share/java/jetty8-http.jar usr/share/i2p/lib/jetty-http.jar
-usr/share/java/jetty8-io.jar usr/share/i2p/lib/jetty-io.jar
+usr/share/java/jetty9-apache-jsp.jar usr/share/i2p/lib/jetty-apache-jsp.jar
+usr/share/java/jetty9-continuation.jar usr/share/i2p/lib/jetty-continuation.jar
+usr/share/java/jetty9-deploy.jar usr/share/i2p/lib/jetty-deploy.jar
+usr/share/java/jetty9-http.jar usr/share/i2p/lib/jetty-http.jar
+usr/share/java/jetty9-io.jar usr/share/i2p/lib/jetty-io.jar
 # legacy name in lib/
-usr/share/java/jetty8-rewrite.jar usr/share/i2p/lib/jetty-rewrite-handler.jar
-usr/share/java/jetty8-security.jar usr/share/i2p/lib/jetty-security.jar
-usr/share/java/jetty8-servlet.jar usr/share/i2p/lib/jetty-servlet.jar
-usr/share/java/jetty8-servlets.jar usr/share/i2p/lib/jetty-servlets.jar
-usr/share/java/jetty8-start.jar usr/share/i2p/lib/jetty-start.jar
-usr/share/java/jetty8-util.jar usr/share/i2p/lib/jetty-util.jar
-usr/share/java/jetty8-webapp.jar usr/share/i2p/lib/jetty-webapp.jar
-usr/share/java/jetty8-xml.jar usr/share/i2p/lib/jetty-xml.jar
+usr/share/java/jetty9-rewrite.jar usr/share/i2p/lib/jetty-rewrite-handler.jar
+usr/share/java/jetty9-security.jar usr/share/i2p/lib/jetty-security.jar
+usr/share/java/jetty9-servlet.jar usr/share/i2p/lib/jetty-servlet.jar
+usr/share/java/jetty9-servlets.jar usr/share/i2p/lib/jetty-servlets.jar
+usr/share/java/jetty9-start.jar usr/share/i2p/lib/jetty-start.jar
+usr/share/java/jetty9-util.jar usr/share/i2p/lib/jetty-util.jar
+usr/share/java/jetty9-webapp.jar usr/share/i2p/lib/jetty-webapp.jar
+usr/share/java/jetty9-xml.jar usr/share/i2p/lib/jetty-xml.jar
 # legacy name in lib/
-usr/share/java/jetty8-server.jar usr/share/i2p/lib/org.mortbay.jetty.jar
+usr/share/java/jetty9-server.jar usr/share/i2p/lib/org.mortbay.jetty.jar
 # legacy name in lib/
-usr/share/java/jetty8-jmx.jar usr/share/i2p/lib/org.mortbay.jmx.jar
-# following two are from libservlet3.0-java which is a dependency of libjetty8-java
+usr/share/java/jetty9-jmx.jar usr/share/i2p/lib/org.mortbay.jmx.jar
+# following two are from libservlet3.1-java which is a dependency of libjetty9-java
 # legacy name in lib/
-usr/share/java/servlet-api-3.0.jar usr/share/i2p/lib/javax.servlet.jar
+usr/share/java/servlet-api-3.1.jar usr/share/i2p/lib/javax.servlet.jar
 # combined into javax.servlet.jar in non-package builds
-usr/share/java/jsp-api-2.2.jar usr/share/i2p/lib/jsp-api.jar
-
-
-# comment out if not building with libtomcat6-java
-# ubuntu: only in precise trusty vivid
-# debian: only in wheezy
-# legacy name, contains only tomcat-juli, not commons-logging
-#usr/share/java/tomcat-juli.jar usr/share/i2p/lib/commons-logging.jar
-#usr/share/java/jasper.jar usr/share/i2p/lib/jasper-runtime.jar
-# combined into jasper-runtime.jar in non-package builds
-#usr/share/java/tomcat-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
-# combined into commons-el.jar in non-package builds
-#usr/share/java/jasper-el.jar usr/share/i2p/lib/jasper-el.jar
-# following is from libservlet2.5-java which is a dependency of libtomcat6-java
-# legacy name in lib/
-#usr/share/java/el-api-2.1.jar usr/share/i2p/lib/commons-el.jar
-
-
-# comment out if not building with libtomcat7-java
-# ubuntu: only in precise trusty vivid
-# debian: only in wheezy
-# legacy name, contains only tomcat-juli, not commons-logging
-#usr/share/java/tomcat-juli.jar usr/share/i2p/lib/commons-logging.jar
-#usr/share/java/tomcat-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
-# combined into jasper-runtime.jar in non-package builds
-#usr/share/java/tomcat-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
-# tomcat 7 only
-#usr/share/java/tomcat-api.jar usr/share/i2p/lib/tomcat-api.jar
-#usr/share/java/tomcat-util.jar usr/share/i2p/lib/tomcat-util.jar
-# combined into commons-el.jar in non-package builds
-#usr/share/java/tomcat-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
-# following is from libservlet3.0-java which is a dependency of libtomcat7-java
-# legacy name in lib/
-#usr/share/java/el-api-2.2.jar usr/share/i2p/lib/commons-el.jar
+usr/share/java/jsp-api-2.3.jar usr/share/i2p/lib/jsp-api.jar
 
 
 # comment out if not building with libtomcat8-java
 # ubuntu: only in xenial+
 # debian: wheezy-backports, jessie+
 # legacy name, contains only tomcat-juli, not commons-logging
-#usr/share/java/tomcat8-juli.jar usr/share/i2p/lib/commons-logging.jar
-#usr/share/java/tomcat8-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
+usr/share/java/tomcat8-juli.jar usr/share/i2p/lib/commons-logging.jar
+usr/share/java/tomcat8-jasper.jar usr/share/i2p/lib/jasper-runtime.jar
 # combined into jasper-runtime.jar in non-package builds
-#usr/share/java/tomcat8-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
-# tomcat 7 only
-#usr/share/java/tomcat8-api.jar usr/share/i2p/lib/tomcat-api.jar
-#usr/share/java/tomcat8-util.jar usr/share/i2p/lib/tomcat-util.jar
+usr/share/java/tomcat8-coyote.jar usr/share/i2p/lib/tomcat-coyote.jar
+usr/share/java/tomcat8-api.jar usr/share/i2p/lib/tomcat-api.jar
+usr/share/java/tomcat8-util.jar usr/share/i2p/lib/tomcat-util.jar
+usr/share/java/tomcat8-util-scan.jar usr/share/i2p/lib/tomcat-util-scan.jar
 # combined into commons-el.jar in non-package builds
-#usr/share/java/tomcat8-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
+usr/share/java/tomcat8-jasper-el.jar usr/share/i2p/lib/jasper-el.jar
 # legacy name in lib/
-#usr/share/java/tomcat8-el-api.jar usr/share/i2p/lib/commons-el.jar
+usr/share/java/tomcat8-el-api.jar usr/share/i2p/lib/commons-el.jar
 
 
 # comment out if not building with glassfish-javaee
diff --git a/debian/rules b/debian/rules
index a1277c451cb7de34f58edf4f8e13b217f5ad449f..62eeccb9aa94b5b85dd32f7c3139679dc6a469ec 100755
--- a/debian/rules
+++ b/debian/rules
@@ -85,59 +85,38 @@ endif
 
 	@# ubuntu: not in precise
 	@# debian: in wheezy jessie stretch sid
-	@/bin/echo -e "with-libjetty8-java=true" >> $(CURDIR)/override.properties
+	@/bin/echo -e "with-libjetty9-java=true" >> $(CURDIR)/override.properties
 	mkdir -p $(CURDIR)/apps/jetty/jettylib
-	ln -sf /usr/share/java/jetty8-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
-	ln -sf /usr/share/java/jetty8-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
-	ln -sf /usr/share/java/jetty8-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
-	ln -sf /usr/share/java/jetty8-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
-	ln -sf /usr/share/java/jetty8-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
-	ln -sf /usr/share/java/jetty8-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
-	ln -sf /usr/share/java/jetty8-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
-	ln -sf /usr/share/java/jetty8-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
-	ln -sf /usr/share/java/jetty8-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
-	ln -sf /usr/share/java/jetty8-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
-	ln -sf /usr/share/java/jetty8-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
-	ln -sf /usr/share/java/jetty8-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
-	ln -sf /usr/share/java/jetty8-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
-	ln -sf /usr/share/java/jetty8-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
-	@# following two are from libservlet3.0-java which is a dependency of libjetty8-java
-	ln -sf /usr/share/java/servlet-api-3.0.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
-	ln -sf /usr/share/java/jsp-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
-
-	@# ubuntu: only in precise trusty vivid
-	@# debian: only in wheezy
-	@#@/bin/echo -e "with-libtomcat6-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet2.5-java which is a dependency of libtomcat6-java
-	@#ln -sf /usr/share/java/el-api-2.1.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
-
-	@# debian and ubuntu: everywhere
-	@#/bin/echo -e "with-libtomcat7-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/tomcat-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
-	@#ln -sf /usr/share/java/tomcat-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
-	@#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/tomcat-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@# following is from libservlet3.0-java which is a dependency of libtomcat7-java
-	@#ln -sf /usr/share/java/el-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+	ln -sf /usr/share/java/jetty9-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
+	ln -sf /usr/share/java/jetty9-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
+	ln -sf /usr/share/java/jetty9-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
+	ln -sf /usr/share/java/jetty9-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
+	ln -sf /usr/share/java/jetty9-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
+	ln -sf /usr/share/java/jetty9-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
+	ln -sf /usr/share/java/jetty9-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
+	ln -sf /usr/share/java/jetty9-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
+	ln -sf /usr/share/java/jetty9-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
+	ln -sf /usr/share/java/jetty9-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
+	ln -sf /usr/share/java/jetty9-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
+	ln -sf /usr/share/java/jetty9-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
+	ln -sf /usr/share/java/jetty9-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
+	ln -sf /usr/share/java/jetty9-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
+	@# following two are from libservlet3.1-java which is a dependency of libjetty9-java
+	ln -sf /usr/share/java/servlet-api-3.1.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
+        @# this is roughly the same as tomcat8-jsp-api.jar, we use this one
+	ln -sf /usr/share/java/jsp-api-2.3.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
 
 	@# debian and ubuntu: wheezy-backports, jessie+, xenial+
-	@#/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
-	@#mkdir -p $(CURDIR)/apps/jetty/jettylib
-	@#ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
-	@#ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
-	@#ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
-	@#ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
-	@#ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
-	@#ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
-	@#ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
+	/bin/echo -e "with-libtomcat8-java=true" >> $(CURDIR)/override.properties
+	mkdir -p $(CURDIR)/apps/jetty/jettylib
+	ln -sf /usr/share/java/tomcat8-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
+	ln -sf /usr/share/java/tomcat8-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar
+	ln -sf /usr/share/java/tomcat8-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar
+	ln -sf /usr/share/java/tomcat8-util-scan.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util-scan.jar
+	ln -sf /usr/share/java/tomcat8-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
+	ln -sf /usr/share/java/tomcat8-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
+	ln -sf /usr/share/java/tomcat8-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar
+	ln -sf /usr/share/java/tomcat8-el-api.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
 
 	@# debian and ubuntu: everywhere
 	@/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties