ich bin aufgrund der Zielplattform gezwungen in Java 7 Kompatibilität zu entwickeln, also habe ich mein Projekt in Eclipse auf Java 7 Kompatibilität umgestellt. Jetzt wird allerdings im Reiter „Problems“ als Warnung folgende Meldung angezeigt:
Build path specifies execution environment JavaSE-1.7. There are no JREs installed in the workspace that are strictly compatible with this environment.
Das Projekt selbst steht schon auf "compliance from execution environment ‚JavaSE-1.7‘.
Wie ihr aber seht sind da immer noch Warnungen.
Ist Java 8 nicht so richtig rückwärtskompatibel? Müsste ich das EOF Java 7 installieren um die Meldung weg zu bekommen?
eclipse möchte ein 7er JRE damit zur Laufzeit auffällt, wenn Du Systemklassen benutzt hast, die es erst seit Java-8 gibt.
Wenn Du weist, was Du tust kannst Du die Warnung also ignorieren. Es ist aber empfehlenswert, ein 7er JRE zu installieren (oder einfach ohne Installation von einem anderen Rechner zu kopieren) und eclipse zu sagen, wo dieses liegt.
Ach so, dann macht das auch Sinn. Mich wunderte es nur, weil laut den Dialogen Java 8 ja kompatibel ist – und es bei meinem anderen Projekt nicht meckert. Aber gut. Dann werde ich einfach die Warnung ignorieren. Danke
[QUOTE=SlaterB;127881]die Warnung ist auch ausschaltbar, ein Reiter über Error/ Warnings, Suche ‚strictly‘ in den Einstellungen allgemein oder im Projekt
verwirrend finde ich, dass die Java 8-System Library ‚JavaSE-1.7‘ heißt[/QUOTE]
Naja, ich habe in den Properties des Projects unter Java Build Path → Libraries die JRE entfernt, eine neue hinzugefügt und anstatt Default JRE habe ich bei Execution environment einfach JavaSE-1.7 ausgewählt, wo aber Java 8 noch in den Klammern steht.
[quote=Ctwx]habe ich bei Execution environment einfach JavaSE-1.7 ausgewählt, wo aber Java 8 noch in den Klammern steht.[/quote]Damit verewendest Du den Java7-kompatiblem Compilermodus des JDK8. Der sorgt zwar dafür, das Du keine Java8-Syntax (wie beispielsweise Closures) verwenden kannst, aber Klassen aus der Java8 Standard-Bibliothek (wie beispielsweise was in javafx.* liegt) könntest Du (versehendlich) benutzen.
Ach so, ok. Nun ja, ich werde einfach aufpassen keine Java 8-Bibliotheken zu verwenden.^^ Bei meinem aktuellen Projekt bin ich sowieso mehr auf die WebSocket und JSON-Bibliotheken angewiesen, die funktionieren wohl auch mit Java 7.
Persönlich wollte ich mir Java 7 unter Windows nicht installieren, da diese EOL sind.
[quote=Ctwx]Persönlich wollte ich mir Java 7 unter Windows nicht installieren, da diese EOL sind.[/quote]Mit diesem Argument solltest Du gar nicht mehr für Java7 entwickeln!
Ich sage ja nicht, dass ich das unbedingt möchte, aber die Zielplattform ist ein Raspberry PI mit Raspbian für das es kein Java 7 gibt.
Und du meinst doch nicht, dass es sinnvoll ist eine veraltete Java-Version unter Windows zu installieren, wenn man alle paar Wochen über schwerwiegende Lücken liest, oder?
Ich war mir nur nicht sicher, da mir so etwas noch nicht passiert ist.
Ich dachte genau das habe ich mit den JDK Compliance-Einstellungen getan?
Ich habe das Problem nun „gelöst“ wie die anderen schon sagten, mit Java 7 unter Windows. Ein bisschen unwohl ist mir allerdings schon, da ja selbst Oracle auf ihrer Downloadseite darauf aufmerksam machen, dass es keine Updates mehr geben wird.
[quote=Ctwx]Ich sage ja nicht, dass ich das unbedingt möchte, aber die Zielplattform ist ein Raspberry PI mit Raspbian für das es kein Java 7 gibt.[/quote]Wenn man von anfang an sein Problem genauer beschreibt bekommt man oft auch von Anfang an bessere Tipps.
[quote=Ctwx;127887]Und du meinst doch nicht, dass es sinnvoll ist eine veraltete Java-Version unter Windows zu installieren, wenn man alle paar Wochen über schwerwiegende Lücken liest, oder?[/quote]Von “installieren” hat ja auch keiner gesprochen. Und selbst wenn, solange es nur auf der Platte liegt, aber von keinem Verwendet wird, ist es auch kein Problem…
Entschuldige bitte, ich versuche es beim wichtigsten zu belassen, da ich sonst dazu neige, einfach ganz viel drumherum zu schreiben und dann antwortet niemand. Ich nahm nicht an, dass das von Belang wäre.
Ich danke dir dennoch für deine Antworten!
Aber ob ich es nun per Installer installiere oder einfach kopiere (hätte keine Quelle für gehabt) ändert ja nicht sonderlich viel. Aber egal, nun ist es drauf. Java 8 ist auch drauf, und wird selbstverständlich aktualisiert, wenn Sicherheitsupdates verfügbar sind.
[QUOTE=Ctwx]
Aber ob ich es nun per Installer installiere oder einfach kopiere (hätte keine Quelle für gehabt) ändert ja nicht sonderlich viel. [/QUOTE]
Naja, schon. Wenn man erst Java 8 und dann Java 7 installiert, kann es sein, dass Java 7 “default” wird. Das KÖNNTE sich z.B. darauf beziehen, mit welcher Version Applets in Webseiten geöffnet werden (was aber schon ziemlich obsolet ist), aber auch darauf, mit welcher Version z.B. eine ausführbare JAR per Doppelklick gestartet wird, und insbesondere und ganz konkret, welche Java-Version verwendet wird, wenn man an der Konsole (aka MS-DOS-Eingabeaufforderung) java eintippt. Im Zweifelsfall mal mit java -version
schauen. Entscheidend ist hier, welcher Pfad in der PATH Environment-Variable eingetragen ist. (Offenbar hatte sich bei Java 8 bei der Installation auch was geändert - die scheinen da jetzt irgendwelche “symlinks” zu verwenden - das hab’ ich mir aber noch nicht näher angesehen…)
[/ot]