我安装了JDK 7和Eclipse 3.6M6。然后,我在Eclipse中添加了JRE7作为新的JRE执行环境,并将编译器遵从性级别设置为Java7。我可以使用JDK7附带的javac
通过命令行编译以下代码。
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问题
尽管我已经将编译器的遵从性级别设置为Java7,但是看起来Eclipse还不理解Java7语法。可以在Eclipse中使用Java7吗?
以下是.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
发布于 2011-02-02 23:39:16
请参阅http://wiki.eclipse.org/JDT_Core/Java7、http://wiki.eclipse.org/PDE/API_Tools/Java7和Bug 288548,了解Eclipse对Java7的持续支持。有关如何在Eclipse中评估Java7的说明,请参阅http://wiki.eclipse.org/JDT/Eclipse_Java_7_Support_%28BETA%29。
更新1: BETA_JAVA7
分支已合并为HEAD
和R3_7_maintenance
(请参阅eclipse-dev archive)。
发布于 2010-04-15 01:00:28
正如Alex指出的,Eclipse使用自己的编译器,目前不支持Java7,并且,正如Project Plan For Eclipse Project, version Helios中所指出的,对Java7的支持被推迟,并从3.6版本中解耦:
延迟)增加了对JavaSE7特性的支持。Java SE的下一个功能版本是版本7,它可能会在2010年下半年推出。虽然此版本的内容仍在讨论中,但该版本预计将包含Java语言的扩展,包括类型注释(JSR-308)、模块化支持(JSR-294)和其他次要的语言更改(Coin项目)。Eclipse Java工具将包括对那些具有公开可用规范(目前只有JSR-308 )的部分的Java7编译、编辑和启动应用程序的初始支持。JDT Core, JDT UI
注意:为了使我们的日程与延迟的Java7官方发布保持一致,并且由于缺乏公开可用的规范(包括缺少Java7JSR),我们决定将开发工作转移到一个单独的分支,并将其与3.6版本解耦。在这个分支中,我们将继续开发Java7的特性,因为它们变得可以公开访问。我们将为官方版本提供单独的更新,以便提供对Java7功能的早期访问。
发布于 2010-04-14 23:38:46
Eclipse有自己的嵌入式Java编译器。因此,如果没有eclipse测试版或类似的东西已经可以编译Java7,那么你就不走运了。
Netbeans应该可以工作。
https://stackoverflow.com/questions/2638622
复制相似问题