Falsche JRE Version


#1

Hallo,

ich habe folgenden Code:

icons = new ArrayList<>();

Der Code liefert mir die Fehlermeldung:

diamond operator is not supported in -source 1.6

Ein java -version liefert mir:

java version "1.8.0_181"

Java™ SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot™ 64-Bit Server VM (build 25.181-b13, mixed mode)

In Eclipse - Preferences steht:

Java - Installed JREs: java-8-oracle (default)

Ich denke ich habe also ein JRE Version 8 installiert. Oder ist das falsch? Kann mir jemand sagen, worauf sich diese Fehlermeldung bezieht?


#2

Schau mal in den Project-Properties nach, welche Java-Version verwendet wird.


#3

Ich weiß nicht genau wo ich in den Project Properties nachschauen soll.

Unter: Java Build Path - Libraries: steht: JRE System Library [JavaSE-1.7]


#4

Moin,

Schau mal nach, welcher Java Compiler dort aktiv ist (vermutlich 1.6) !!

Warum hast Du im BuildPath 1.7, wenn Du 1.8 installiert hast ??

VG Klaus


#5

Unter Java Compiler steht:

Use compliance from execution environment 'JavaSE-1.7' on the 'Java Build Path'. (Ist aktiviert).

Die Version 1.8 bekomme ich glaube ich über den Paketmanager. Ich verwende Ubuntu.


#6

Kommt halt drauf an welche Version von Ubuntu und welche Version von Java, bzw. aus welchem Repository diese gezogen wird. Bei einem Dist-Upgrade, werden oft auch die alten Repos deaktiviert, so dass es eben keine Updates mehr gibt.

Jedenfalls das Oracle Java bekommt man nur aus einem 3rd Party repository.

Aber poste mal was bei einem javac -version kommt.

Und schau mal was unter /usr/lib/jvm so alles installiert ist.


#7

Der Fehler war wohl eher ein Maven Konfigurations Problem als ein Problem mit den JREs.

Folgender Abschnitt in der pom.xml hat das Problem gelöst:

            <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
    	        <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>