diff --git a/.travis.yml b/.travis.yml
index 172704429557bcd25d0116ffa3a2dcbdc9782c78..0321ef97ba7687c9eb1953b3a5845bf8201421c1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,13 +1,8 @@
 language: java
-dist: trusty
+dist: xenial
 
 jdk:
   - oraclejdk11
-  - oraclejdk9
-  - openjdk12
-  - openjdk11
-  - openjdk10
-  - openjdk9
 
 matrix:
   include:
@@ -16,24 +11,8 @@ matrix:
         sonarcloud:
           organization: "i2p"
       before_install:
-        - export JAVA7_HOME=$(jdk_switcher home openjdk7)
         - sed -i "1iplugins {\n    id 'org.sonarqube' version '2.6.1'\n}\n" build.gradle
     - jdk: openjdk8
-      before_install:
-        - export JAVA7_HOME=$(jdk_switcher home openjdk7)
-    - jdk: openjdk7
-      sudo: required
-      before_install: # Work around missing crypto in openjdk7
-        - export JAVA7_HOME=$(jdk_switcher home openjdk7)
-        - sudo wget "https://bouncycastle.org/download/bcprov-ext-jdk15on-158.jar" -O "${JAVA_HOME}/jre/lib/ext/bcprov-ext-jdk15on-158.jar"
-        - sudo perl -pi.bak -e 's/^(security\.provider\.)([0-9]+)/$1.($2+1)/ge' /etc/java-7-openjdk/security/java.security
-        - echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" | sudo tee -a /etc/java-7-openjdk/security/java.security
-      install:
-        - export TARGET_JAVA_HOME=$JAVA_HOME
-        - jdk_switcher use oraclejdk8
-        - ./gradlew assemble
-  allow_failures:
-    - jdk: openjdk12
 
 before_cache:
   - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
diff --git a/build.gradle b/build.gradle
index 2e766ba067e6112d93314edad81bf7cdfc63a2c2..7ca53038770f78f7b04ad7807664d29f9374d967 100644
--- a/build.gradle
+++ b/build.gradle
@@ -107,8 +107,8 @@ configure(javaProjects) {
         testCompile 'org.mockito:mockito-core:2.5.0'
     }
 
-    sourceCompatibility = 1.7
-    targetCompatibility = 1.7
+    sourceCompatibility = 1.8
+    targetCompatibility = 1.8
 
     jar {
         // Empty attributes are set by each project. They are initialized