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

Fohnbit

Top Contributor
Hallo!

Ich schreibe kleine Plugins für eine OSGi Application. Nun nutze ich eine neue Hardware und habe dort als Java:
Java:
java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) Client VM (build 25.381-b09, mixed mode)
Auf meinem Windows PC habe ich Eclipse:
Code:
Version: 2022-12 (4.26.0)
Build id: 20221201-1913
und Java:
Code:
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)

Nun habe ich das Problem, wenn ich ein doch umfangreiches Project exportiere und auf dem Linux OSGi starte, den Fehler:
'<>' operator is not allowed for source level below 1.7
erhalte.

In Eclipse sehe ich bei About:
Code:
*** System properties:
java.runtime.name=OpenJDK Runtime Environment
java.runtime.version=17.0.6+10
Es nutzt also OpenJDK 17

Das Project steht auf 1.8, und in den Preferences unter Installed JREs/ExecutionEnviroments:
1703064205659.png


Könnt ihr mit den Angaben etwas Anfangen?
 

Anhänge

  • 1703063132035.png
    1703063132035.png
    6,8 KB · Aufrufe: 0
Du musst unter "Java Compiler" auch "Compiler compliance level"/"Source compatibility" auf 1.8 stellen. Gibt Konstellationen da faellt Eclipse auf den niedrigsten unterstuetzen Wert zurueck, das waere dann 1.6.
 
Wo exakt kommt diese Meldung? In Eclipse? Beim Starten von OSGI? Weil das ist eine Compiler Meldung - die solltest du nicht beim starten von OSGI bekommen, sondern beim kompilieren der Anwendung. Wie und wo wird die Anwendung kompiliert?
 
Bei OSGi Plug-Ins steht das Execution Environment auch in der Manifest drin. Steht da eventuell noch 1.6 drin?

Mir ist da im Zusammenhang mit Eclipse mal aufgefallen, dass man in dem Project Execution Environment das Java umstellen kann und die IDE dann erstmal glücklich ist, aber es später bei der Ausführung dann Probleme gibt, weil OSGi das in der Manifest eingetragene Execution Environment benutzt.
 

Zurück
Oben