openjdk 1.7 in eclipse: operator is not allowed for source level below 1.7

南笙酒味 提交于 2019-11-29 04:30:45

问题


Eclipse gives me an error:

'<>' operator is not allowed for source level below 1.7 

I guess this is because it is not using java 1.7. Except that it is. At least openjdk 1.7 (my OS is OpenSuse 12.3).

I switched back from kepler to juno to reduce some lags and try to figure out this bug as well, to no avail so far.

Some things I have tried: - the default runtime for eclipse is opensdk 1.7 (says so in help, about, installation details) - project properties, java build -> library. I have manually added the opensdk location.

I would install the oracle version, but there is only 1.6 available from the opensuse repository. I already tried installing the rpm offered by oracle, that didn't put itself in my path and kind of messed everything up, so I removed that again.

It should work with openjdk as well no? Or do you think it has a bug?

ps: junit also was not recognised, so I manually linked to the jar file. Perhaps this is relevant information.


回答1:


In your project's preferences, you must set the compiler --source option to 1.7 and --target option to 1.7 also. There are dedicated option boxes for that.

Right-click on the project. Choose Properties. Choose Java Compiler on the left. Choose 1.7 for the Compiler Compliance level. If the 2 drop-downs below that aren't 1.7, uncheck Use default compliance settings and set those to 1.7.




回答2:


right click on the error, choose quick fix, and select change JRE to 1.7




回答3:


If you want to use below version, use

Map<String, Integer> map = new HashMap<String, Integer>();

instead of

HashMap<String, Integer> map = new HashMap<>();



回答4:


right click on Project - properties - Java Complier - Compiler compliance -set level 1.7




回答5:


If you would like to stick with java 1.6, Search and replace <> with empty string. You'll get compiler warnings but the errors should go away.




回答6:


I had the same problem, but with the - Compiler Compliance Level - Generated .class files compatibility - Source compatibility all already set to 1.7. I reselected 1.7 on all 3 and then Eclipse detected it, asked to rebuild and built my project successfully.




回答7:


Window->Preferences->Java->Compiler

select 1.7 and hit okay.

If you are building automatically, it will require a full re-build.




回答8:


Right-click on the project. Choose Properties. Choose Java Compiler on the left. Choose 1.7 for the Compiler Compliance level. If the 2 drop-downs below that aren't 1.7, uncheck Use default compliance settings and set those to 1.7.



来源:https://stackoverflow.com/questions/19382370/openjdk-1-7-in-eclipse-operator-is-not-allowed-for-source-level-below-1-7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!