Eclipse:语法错误,仅当源级别为1.5时,参数化types才是

我尝试使用这个

ArrayList<String> Map<String, String> 

Eclipse抱怨他们两个:语法错误,参数化types只有在源代码级别为1.5时才有效。 我使用JDK 1.6,但即使我去编译器并将合规性切换到1.5。 它仍然给我这个错误。 任何想法为什么?

我的猜测是,当你使用JDK 1.6运行eclipse时,它实际上configuration了一个不同的默认jre。

请参阅Window->preferences->java->Installed JREs ,并确保选中的JRE是1.6

如果默认的JRE确实是1.6,那么很可能是项目特定的设置。 看到项目被configuration为使用正确的JRE。

当这个问题popup时,这个解决方法是有帮助的。

1)将Workspace JRE设置为1.5(并应用/保存)。 项目将重build。

2)将工作空间JRE设置回1.6(并应用/保存)。 项目将重build。

所有的错误然后消失(现在至less)。

它可以解决如下:

  1. 转到项目属性。

  2. 然后select'Java Compiler' – >勾选('Enable project specific settings')

  3. 将编译器合规性级别更改为“5.0”,然后单击“确定”。

重build。 这将得到解决。

另外,请点击“使用默认合规性设置”checkbox。

是。 不pipe别人怎么说,Eclipse包含一些错误,有时会导致工作区设置(例如1.6兼容)被忽略。 即使每个项目设置被禁用,工作区设置是正确的(1.6),JRE被正确设置,仅定义了1.6 JRE等等,当人们对这个问题提出问题时,通常会推荐所有的东西张贴到各种论坛(他们通常是)。

我们经常遇到这种情况,但是经常遇到与构build时间依赖关系或其他项目问题有关的问题。 它似乎属于“无法让Eclipse认识现实”的一般类别,我总是会用正确的或错误的方式来归因于Eclipse的广泛的元数据问题。 Eclipse元数据是一个祝福和诅咒; 当所有的工作都很好的时候,它使得这个工具非常强大和快速。 但是,如果出现问题,广泛的caching就会比使用其他工具更容易解决问题 – 有时更困难。

右键单击您的项目,并在属性对话框中select属性检查Java编译器设置,也许你有不同的工作区设置。

转到项目属性。

然后select“Java编译器” – >选中checkbox,然后select“启用项目特定设置”

取消勾选“使用Java执行环境OSGi / Minimum-1.2的合规性”

然后将编译器合规性级别更改为“1.5”,然后单击“确定”。

重build它,你的问题将得到解决。

这对我有用。

在eclipse中转到项目属性 – > java编译器。

然后改为java高于1.5。

将编译器合规性设置更改为1.6将Generated.class文件兼容性更改为1.6将源代码兼容性更改为1.6

谢谢。 屏幕截图的变化

我已经遇到了与Eclipse Indigo版本相同的问题 – 即使项目设置是正确的。 我怀疑的主要原因是工作区是从一个单独的文件夹中定义的实际源文件夹(如user748337)。 为了解决这个问题,我不得不启用项目特定的设置选项(在“项目首选项”中),尽pipe它与工作区设置没有区别。

单一的答案不能解决我的问题,所以我用了两个:

  • 首先右键单击问题选项卡中的错误
  • 点击快速修复
  • 右键点击该项目
  • build立path
  • configuration构buildpath
  • 删除JRE库
  • 添加JRE库

…. tada …完成了… 🙂

我可以在Eclipse Helios中通过右键单击项目,select“Java Build Path”,“Add Library …”,“JRE System Library”,“Workspace default JRE(jdk1.6.0_17)”和最后“完成”。

同样要谨慎,inheritanceJava Compiler / Compliance设置项目中的工作区设置。 我有一个导入Eclipse的项目。 Eclipse使用J2SE 1.4 JRE,编译器和合规性设置生成项目。

当我进入并手动更新这些设置并取消选中“启用项目特定设置”框时,我仍然收到与1.5级别合规性相关的构build错误(即使工作区设置明显为1.6)。 直到我重新检查“启用项目特定设置”框并手动将编译器/合规性级别设置为1.6,错误消失。

它可以解决如下:

转到项目属性。

然后select'Java Compiler' – >勾选('Enable project specific settings')

将编译器合规性级别更改为“5.0”,然后单击“确定”

选中“使用默认合规性设置”checkbox

请执行下列操作..

右键单击您的项目 – >select属性—–>selectJava编译器

你会看到这个窗口

图片供参考

现在选中checkbox—>启用项目特定设置。

现在将编译器合规性级别设置为1.6

然后确定

现在清理你的项目,你很好去

我目前正在使用Eclipse Luna。 并有同样的问题。 您可能需要validation编译器的合规性设置,请转至“Project / Properties / Java Compiler”

编译器的合规性级别设置为1.4,我将其设置为1.5(我正在使用JDK 1.8); 它为我工作。

如果你不得不改变设置, 那么转到“窗口/首选项/ Java /编译器”可能会很有用,并检查编译器符合性级别是否为1.5或更高。 以防万一你需要做另一个Java项目。

将编译器版本更改为较低的值并应用更改。 编译将失败。

现在将版本更新为必需,并应用更改,工作区将得到重build,问题将得到解决。

这可以是ECLIPSE的快速修正

当我尝试创build数组列表时,它给出错误,数组列表不能被parsing为types和“参数化types只在级别1.5”

只有我做了我试图导入java.util.ArrayList;

那个错误消失了。