在Eclipse中编程Java 7


问题内容

我安装了JDK 7Eclipse
3.6M6
。然后,我将JRE
7添加为Eclipse中的新JRE执行环境,并将编译器的遵从性级别设置为Java7。我可以使用javacJDK 7随附的命令行通过命令行编译以下代码。

import java.util.HashMap;
import java.util.Map;

public class Try {

    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
    }
}

但是,Eclipse提供了以下错误消息。

HashMap类型的参数数目不正确;它不能使用参数Try.java / TryJava7 / src第7行Java参数化

令牌“ <”的语法错误,?此令牌Try.java / TryJava7 / src第7行Java问题后应

即使我已将编译器的遵从性级别设置为Java 7,看起来Eclipse仍不了解Java7语法。可以在Eclipse中使用Java 7吗?

以下是的内容.classpath

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
  <classpathentry kind="src" path="src"/>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
  <classpathentry kind="output" path="bin"/>
</classpath>

并且,以下是的内容.settings/org.eclipse.jdt.core.prefs

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
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
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7

问题答案:

http://wiki.eclipse.org/JDT_Core/Java7http://wiki.eclipse.org/PDE/API_Tools/Java7错误288548为Java
7中的持续支持Eclipse的,看到的http://维基有关如何在Eclipse中评估Java
7的说明,请参见.eclipse.org / JDT /
Eclipse_Java_7_Support_%28BETA%29。

更新1:
BETA_JAVA7分支已经合并HEADR3_7_maintenance(见Eclipse的开发归档)。

更新2: Eclipse 3.7.1(Indigo SR1)支持Java 7