2010-03-10 68 views
39

我尝试使用这个的Eclipse:语法错误,如果源级别是1.5

ArrayList<String> 
Map<String, String> 

的Eclipse抱怨他们两人的参数化类型只有:语法错误,参数化类型仅当源级别是1.5。我使用JDK 1.6,但即使我去编译器并将合规性切换到1.5。它仍然给我这个错误。任何想法为什么?在性能

+0

我得到了同样的错误,并在Eclipse中的喜好,其中正确的是(指着JRE6)。我认为当工作区在jse的单独驱动器中定义时会出现一些错误。在C例如jse6:\ Eclipse在d:\ 工作区在默认目录C:\用户\ \ ... ==>确定,C中没有错误JSE:\ Eclipse在d:\ 工作区在D:\ ==>错误:语法错误,参数化类型只有源级别为1.5时 – 2011-05-12 09:51:21

回答

22

我的猜测是,当你运行在JDK 1.6 Eclipse本身,它实际上是一个不同的缺省JRE配置。

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

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

+0

感谢您的建议,我非常疑惑非编译,这已解决了我的问题! – stackSaru 2014-07-04 16:12:09

5

右键点击你的项目,然后选择属性对话框检查Java编译器设置,也许你有不同的工作区设置。

19

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

我们打这个不规则,但往往,通常在存在与建造时的依赖或其它项目问题一些无关的问题。它似乎属于“无法让Eclipse认识现实”的一般类别,我总是会用正确或错误的方式来归因于使用Eclipse的广泛元数据来更新问题。 Eclipse元数据是一个祝福和诅咒;当所有工作都很好时,它会使工具非常强大和快速。但是,当出现问题时,广泛的缓存使问题比其他工具更加困难 - 有时更加困难。

+8

谢谢,这意味着我不疯狂!每过一次蓝月亮,Eclipse都会决定它不关心我的任何设置,并且给我这个1.5符合性错误。尽管一切都设置正确,但我必须做Eclipse雨舞(重新启动,刷新,清理,构建的一些随机组合)以安抚波浪般的红线神。 – aglassman 2013-10-15 17:28:42

1

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

1

请注意继承Java Compiler/Compliance设置项目中的工作区设置。我有一个导入Eclipse的项目。 Eclipse使用J2SE 1.4 JRE,编译器和合规性设置生成项目。

当我走进去,手动更新这些设置和取消选中了“启用项目特定设置”中,我还是接受建立与1.5级合规性(即使工作区设置显然1.6)错误。直到我重新选中“启用项目特定设置”框并手动将编译器/合规性级别设置为1.6,错误消失。

40

当此问题弹出时,此变通办法很有用。

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

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

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

+3

+1我上升到1.7,然后回到1.6并重建。 – rajah9 2012-08-31 13:59:11

+0

@ rajah9 ..你可以让我知道,你如何能够将Java 1.7集成到Blackberry Eclipse中,我不能在BB Elipse中整合1.7 jre ...... !!! – 2012-11-27 07:41:16

+2

必须重新启动eclipse才能使此修复工作。 – Coyote 2013-04-09 05:18:30

2

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

+0

自从Indigo发布1.7以来,就有这个问题。我也发现了这个修补程序,但我仍然不喜欢它,因为如果1.8发布,我必须记住要更改所有项目设置。 – 2012-04-03 09:31:07

36

它可以如下解决:

  1. 转到项目属性。

  2. 然后 'Java编译器' - >勾选( '启用项目的具体设置')

  3. 更改编译器遵从性级别为 '5.0' &单击确定。

重建。它会被解决。

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

+1

这为我工作。 – 2015-05-13 06:25:46

6

转到项目属性。

然后“Java编译器” - >点击复选框,“启用项目特定设置”

取消选中复选框“使用合规性与执行环境‘的OSGi /最小-1.2’的Java”

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

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

0

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

编译器合规性级别设置为1.4,我将其设置为1.5(我正在使用JDK 1.8) ;它为我工作。如果你不得不改变设置,转到“Window/Preferences/Java/Compiler”可能会很有用,并检查编译器合规性级别是否为1.5或更高。以防万一你需要做另一个Java项目。

1

它可以解决如下:

转到项目属性。

然后“Java编译器” - >勾选(“启用项目的具体设置”)

更改编译器遵从性级别为“5。0' &单击确定

选择‘使用默认设置合规性’复选框

2

单一的答案没能解决我的问题,所以我同时使用:

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

....田田...做... :)

+0

Thanx @Jyo the Whiff !!我很惊讶随着时间的推移,什么样的愚蠢错误正在悄然进入Eclipse ...... – nidalpres 2015-06-14 01:40:23

+0

是的..此后,我面对许多其他......但仍然爱上了Eclipse :) – 2015-07-24 12:06:06

+0

快速修复在手动更改时工作编译器级别不做任何事情。为了平息日食,我做了两次这样的事情。 – 2015-08-29 14:42:27

4

这适用于我 。

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

然后改为java高于1.5。

更改编译器依从性设置,以1.6 变化Generated.class文件兼容性1.6 改变源代码兼容性1.6

感谢。 Screen Shot for changes

0

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

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

-1

这对于ECLIPSE

速战速决,当我试图创建它给了错误的数组列表不能被解析为类型和一些有关“parametrised型仅在1.5的水平”

数组列表

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

而这个错误消失了。

+1

改述你的解释。 – 2016-07-07 15:23:26

1

执行以下操作..

右键单击您的项目 - >选择属性----->选择Java编译器

你的意志看到这个窗口

Image for reference

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

现在将编译器合规性级别设置为1。6

应用,然后确定

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