diff --git a/org.eclipse.m2e.wtp.jpa/.classpath b/org.eclipse.m2e.wtp.jpa/.classpath
index 0b1bcf9..46cec6e 100644
--- a/org.eclipse.m2e.wtp.jpa/.classpath
+++ b/org.eclipse.m2e.wtp.jpa/.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/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/org.eclipse.m2e.wtp.jpa/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.wtp.jpa/.settings/org.eclipse.jdt.core.prefs
index d141c68..935535c 100644
--- a/org.eclipse.m2e.wtp.jpa/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.m2e.wtp.jpa/.settings/org.eclipse.jdt.core.prefs
@@ -6,9 +6,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.7
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -96,4 +96,4 @@
 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.6
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.m2e.wtp.jpa/META-INF/MANIFEST.MF b/org.eclipse.m2e.wtp.jpa/META-INF/MANIFEST.MF
index a2bc795..4bec1fb 100644
--- a/org.eclipse.m2e.wtp.jpa/META-INF/MANIFEST.MF
+++ b/org.eclipse.m2e.wtp.jpa/META-INF/MANIFEST.MF
@@ -23,8 +23,7 @@
  org.eclipse.m2e.wtp;bundle-version="1.2.0",
  org.eclipse.wst.common.emf
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6,
- JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-Localization: plugin
 Bundle-Vendor: %Bundle-Vendor
 Export-Package: org.eclipse.m2e.wtp.jpa,org.eclipse.m2e.wtp.jpa.intern
diff --git a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/PlatformIdentifierManager.java b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/PlatformIdentifierManager.java
index 0ed5e84..52d5f7e 100644
--- a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/PlatformIdentifierManager.java
+++ b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/PlatformIdentifierManager.java
@@ -23,7 +23,7 @@
  */
 public class PlatformIdentifierManager {
 
-	private List<IPlatformIdentifier> platformIdentifiers = new ArrayList<IPlatformIdentifier>();
+	private List<IPlatformIdentifier> platformIdentifiers = new ArrayList<>();
 	
 	public PlatformIdentifierManager() {
 		//TODO use extension points
diff --git a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/MavenJpaActivator.java b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/MavenJpaActivator.java
index 313d89a..1e003cf 100644
--- a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/MavenJpaActivator.java
+++ b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/MavenJpaActivator.java
@@ -37,6 +37,7 @@
 	 * (non-Javadoc)
 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
 	 */
+	@Override
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
 		plugin = this;
@@ -47,6 +48,7 @@
 	 * (non-Javadoc)
 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
 	 */
+	@Override
 	public void stop(BundleContext context) throws Exception {
 		plugin = null;
 		platformIdentifierManager = null;
diff --git a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java
index 38e455b..d050e17 100644
--- a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java
@@ -146,7 +146,7 @@
 		
 		IDataModel dataModel = getDataModel(facetedProject, version, platform);
 
-		Set<Action> actions = new LinkedHashSet<Action>();
+		Set<Action> actions = new LinkedHashSet<>();
 		installJavaFacet(actions, facetedProject.getProject(), facetedProject);
 		actions.add(new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL, 
 								                version, 
