问题
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