Eclipse:语法错误,参数化类型仅在源级别为1.5时才有

时间:2010-03-10 17:50:22

标签: java eclipse

我尝试使用以下代码:

ArrayList<String>
Map<String, String>

Eclipse抱怨他们两个:语法错误,参数化类型仅在源级别为1.5时才会出现。

我使用JDK 1.6,但即使我转到编译器并将合规性切换为1.5。它仍然给我这个错误。任何想法为什么?

17 个答案:

答案 0 :(得分:41)

当弹出此问题时,此解决方法很有用。

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

2)将Workspace JRE设置回1.6(并应用/保存)。项目将重建。

然后所有错误都消失了(现在至少)。

答案 1 :(得分:39)

可以解决如下:

  1. 转到项目属性。

  2. 然后'Java编译器' - &gt;选中复选框(“启用项目特定设置”)

  3. 将编译器合规性级别更改为“5.0”&amp;点击确定。

  4. 重建。它将得到解决。

    另外,单击“使用默认合规性设置”复选框。

答案 2 :(得分:23)

我的猜测是,当您使用JDK 1.6运行eclipse时,它实际上配置了不同的默认jre。

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

如果默认JRE确实为1.6,则可能是项目特定设置。看到项目配置为使用正确的JRE。

答案 3 :(得分:19)

是。无论其他人说什么,Eclipse都包含一些有时会导致工作空间设置(例如1.6兼容)的错误被忽略。即使禁用了每个项目设置,工作区设置正确(1.6),正确设置了JRE,只定义了1.6 JRE等等,这是人们在对此问题提出疑问时通常会推荐的所有内容发布到各种论坛(通常是)。

我们不定期地,但经常,并且通常在与构建时依赖性或其他项目问题存在一些不相关的问题时。它似乎属于“无法让Eclipse识别现实”的一般类别,我总是认为,无论是对还是错,都要用Eclipse广泛的元数据来解决问题。 Eclipse元数据是一种祝福和诅咒;当一切运转良好时,它会使工具非常强大和快速。但是当存在问题时,广泛的缓存使得解决问题变得比使用其他工具更困难 - 有时候要困难得多。

答案 4 :(得分:7)

这适合我。

在eclipse中转到项目属性 - &gt; java编译器。

然后更改为高于1.5的java。

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

感谢。 Screen Shot for changes

答案 5 :(得分:6)

转到项目属性。

然后'Java编译器' - &gt;选中复选框和“启用项目特定设置”

取消选中“在Java上使用执行环境中的合规性'OSGi / Minimum-1.2'”框

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

重建它,您的问题将得到解决。

答案 6 :(得分:5)

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

答案 7 :(得分:2)

我遇到了Eclipse Indigo版本的相同问题 - 即使项目设置正确。我怀疑的主要原因是工作区是在与实际源文件夹不同的文件夹中定义的(如上所述user748337)。 要解决这个问题,我必须启用项目特定设置选项(在Porject首选项中),尽管它与工作区设置没有区别。

答案 8 :(得分:2)

单一答案无法解决我的问题所以我同时使用了两个:

  • 首先右键单击“问题”选项卡中的错误
  • 点击快速修复
  • 确定
  • 右键点击项目
  • 构建路径
  • 配置构建路径
  • 删除JRE库
  • 添加JRE库

.... tada ...完成......:)

答案 9 :(得分:1)

在项目中为Java Compiler / Compliance设置继承工作空间设置时要小心。我有一个导入Eclipse的项目。 Eclipse使用J2SE 1.4 JRE,编译器和合规性设置生成项目。

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

答案 10 :(得分:1)

可以解决如下:

转到项目属性。

然后'Java编译器' - &gt;选中复选框(“启用项目特定设置”)

将编译器合规性级别更改为“5.0”&amp;点击确定

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

的复选框

答案 11 :(得分:1)

通过右键单击项目,选择“Java Build Path”,“Add Library ...”,“JRE System Library”,“Workspace default JRE”(jdk1.6.0_17),我能够在Eclipse Helios中解决这个问题。 )“并最后”完成“。

答案 12 :(得分:1)

执行以下操作..

右键点击您的项目 - &gt;选择属性-----&gt;选择Java编译器

你会看到这个窗口

Image for reference

现在选中复选框---&gt;启用项目特定设置。

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

然后应用确定

现在清理你的项目,你很高兴

答案 13 :(得分:0)

我目前正在使用Eclipse Luna。并有同样的问题。您可能想要验证编译器合规性设置,转到&#34;项目/属性/ Java编译器&#34;

编译器合规性级别设置为1.4,我将我的设置为1.5,(我和JDK 1.8合作);它对我有用。

如果你不得不改变设置;转到&#34; Window / Preferences / Java / Compiler&#34;可能很有用。并检查编译器合规性级别是否为1.5或更高。以防万一你需要做另一个Java项目。

答案 14 :(得分:0)

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

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

答案 15 :(得分:0)

我很正常地得到这个。 目前,对我来说(使用Photon)的工作是:

  • 关闭项目
  • 打开项目

如果这不起作用:

  • 关闭项目
  • 退出Eclipse
  • 重新启动Eclipse
  • 打开项目

我知道,不是愚蠢的

答案 16 :(得分:-1)

这可以成为ECLIPSE的快速修正

当我尝试创建数组列表时,它给出了错误,即数组列表无法解析为类型,而且#34;参数化类型仅在1.5级&#34;

我只是尝试导入java.util.ArrayList;

那个错误就消失了。