diff --git a/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/util/TransportFactory.java b/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/util/TransportFactory.java
index ccd2c92..07f4a35 100644
--- a/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/util/TransportFactory.java
+++ b/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/util/TransportFactory.java
@@ -111,7 +111,6 @@
 			return delegate;
 		}
 
-		@Override
 		public org.eclipse.epp.mpc.core.service.ITransport getTransport() {
 			return delegate.getTransport();
 		}
@@ -172,7 +171,6 @@
 			this.context = context;
 		}
 
-		@Override
 		public TransportFactory addingService(ServiceReference<ITransportFactory> reference) {
 			Object legacyProperty = reference.getProperty(TransportFactory.LEGACY_TRANSPORT_KEY);
 			if (!Boolean.parseBoolean(String.valueOf(legacyProperty))) {
@@ -193,12 +191,10 @@
 			return null;
 		}
 
-		@Override
 		public void modifiedService(ServiceReference<ITransportFactory> reference, TransportFactory service) {
 			// ignore
 		}
 
-		@Override
 		public void removedService(ServiceReference<ITransportFactory> reference, TransportFactory service) {
 			trackedServices.remove(reference);
 		}
@@ -317,12 +313,10 @@
 		return factories;
 	}
 
-	@Override
 	@SuppressWarnings("deprecation")
 	public ITransport getTransport() {
 		return new ITransport() {
 
-			@Override
 			public InputStream stream(URI location, IProgressMonitor monitor) throws FileNotFoundException,
 			org.eclipse.epp.mpc.core.service.ServiceUnavailableException, CoreException {
 				try {
diff --git a/org.eclipse.epp.mpc.tests/.classpath b/org.eclipse.epp.mpc.tests/.classpath
index 64c5e31..eca7bdb 100644
--- a/org.eclipse.epp.mpc.tests/.classpath
+++ b/org.eclipse.epp.mpc.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/org.eclipse.epp.mpc.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.epp.mpc.tests/.settings/org.eclipse.jdt.core.prefs
index 2a1ada5..02bcf55 100644
--- a/org.eclipse.epp.mpc.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.epp.mpc.tests/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -110,7 +110,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL,HIGH,HIGH,LOW
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,WIP,DEBUG,DISCUSS
