我安装了JDK 7和Eclipse 3.6M6.然后,我在Eclipse中添加了JRE 7作为新的JRE执行环境,并将编译器合规性级别设置为Java 7.我可以使用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<>();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,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>
Run Code Online (Sandbox Code Playgroud)
而且,以下是内容.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
Run Code Online (Sandbox Code Playgroud)