Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

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

If you want to use below version, use

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

instead of

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

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

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.

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.

Window->Preferences->Java->Compiler

select 1.7 and hit okay.

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

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top