Trotz der Angabe von JDK 1.7 in allen Projekteinstellungen (einschließlich in File -> Project Structure -> Project :: Project SDK
) tritt der folgende Fehler auf, IntelliJ 13
wenn versucht wird, einfachen Java 7-Code zu kompilieren, der den Diamantoperator verwendet:
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
Gibt es eine andere Stelle in der Konfiguration, an der die erwartete -source 7
Option aktiviert werden sollte?
File -> Project Structure -> Project :: Project language level
wechseln zuDiamonds, ARM, multi-catch etc
?Antworten:
Wenn nichts davon hilft (mein Fall), können Sie es in Ihrer pom.xml wie folgt einstellen:
Wie dieser coole Typ hier erwähnte: https://stackoverflow.com/a/25888116/1643465
quelle
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
InteliJ Support ForumBitte überprüfen Sie die Sprachniveaus Ihres Projekts / Moduls (Projektstruktur | Projekt; Projektstruktur | Module | Modulname | Quellen). Vielleicht möchten Sie auch einen Blick auf Einstellungen | werfen Compiler | Java Compiler | Bytecode-Version pro Modul.
Stellen Sie auch Folgendes ein:
Datei -> Projektstruktur -> Module :: Quellen (neben Pfade und Abhängigkeiten) und das hat eine Option "Sprachstufe", die ebenfalls korrekt eingestellt werden muss.
quelle
Additional command line parameters
inJava Compiler
Einstellungen leer ist .[Für IntelliJ IDEA 2016.2]
Ich möchte einen Teil von Peter Gromovs Antwort mit einem aktuellen Screenshot erweitern. Speziell dieser spezielle Teil:
Ich glaube, dass (zumindest in 2016.2): Durch Auschecken verschiedener Commits werden
git
diese auf 1,5 zurückgesetzt.quelle
git checkout
). Ich habe festgestellt, dass ich Einträge in dieser Liste sicher löschen konnte. Das Modul greift auf die Verwendung der "Projektbytecode-Version" zurück.Alternativ können Sie das Maven-Compiler-Plugin mit der entsprechenden Java-Version anwenden, indem Sie dies zu Ihrer pom.xml hinzufügen:
quelle
Ich habe versucht, Änderungen an Intellij IDEA wie folgt vorzunehmen:
1.
2.
aber nichts hat funktioniert, es hat die Versionen auf Java 1.5 zurückgesetzt, sobald ich es gespeichert habe.
Das Hinzufügen der folgenden Zeilen zu root (Projektebene) pom.xml hat mir jedoch geholfen, das obige Problem zu beheben: (beide Optionen haben bei mir funktioniert)
Option 1:
Option 2:
quelle
Datei-> Projektstruktur-> Projekteinstellungen-> Projekt-> Projektsprachenstufe
Datei-> Projektstruktur-> Projekteinstellungen-> Module-> Sprachniveau
Ändern Sie die Ebene mithilfe der Dropdown-Liste
quelle
Gehen Sie in Ihrer Befehlszeile (Unix-Terminal) zu Ihrem Projektstammordner und führen Sie dies aus
Dadurch wird die Sprachebeneneigenschaft in allen IML-Dateien Ihres Projekts von Java 1.5 auf Java 1.8 geändert.
quelle
compiler.xml
bin mir noch nicht sicher, aber Sie müssen möglicherweise auch die JDK-Version im Stammverzeichnis des Projekts ersetzen (IntelliJ 2017.2):sed 's/target="1.5"/target="1.8"/g' .idea/compiler.xml
Zunächst müssen Sie unter „Projekt - Bytecode - Version“ ändern
File > Settings
,Compiler > Java Compiler
Zweitens machen Sie einen vollständigen Wiederaufbau.
quelle
Ich habe das gleiche Problem, aber mit einer anderen Situation. Ich kann ohne Probleme mit maven in der Kommandozeile (
mvn clean install
) kompilieren , aber in Intellij habe ich immer"java: diamond operator is not supported in -source 1.5"
kompilieren Kompilierungsfehler erhalten, obwohl ich das maven-compiler-plugin mit java 1.8 in der pom.xml gesetzt habe.Es stellte sich heraus, dass ich in der settings.xml meines Maven eine Remote-Repository-Einstellung habe, von der das Projekt abhängt, aber Intellij verwendet seinen eigenen Maven, der nicht die gleiche Einstellung wie mein lokaler Maven hat.
Meine Lösung bestand also darin, die Maven-Einstellung (
Settings -> Build, execution, Deployment -> Maven -> Maven home directory
) des Intellij so zu ändern , dass der lokale Maven verwendet wird.quelle
In IntelliJ Community Edition 2019.02 hat das Ändern der folgenden Einstellungen für mich funktioniert
Aktualisieren Sie Datei-> Projektstruktur-> Projekteinstellungen-> Projekt-> Projektsprachenstufe auf Java 11 (Aktualisierung auf die Java-Version, die Sie in Ihrem Projekt verwenden möchten) mithilfe der Dropdown-Liste.
Datei aktualisieren-> Projektstruktur-> Projekteinstellungen-> Module-> Sprachniveau
Aktualisieren Sie Datei-> Einstellungen-> Erstellen, Ausführen, Bereitstellen -> Compiler -> Java-Compiler-> Projekt-ByteCode-Version auf Java 11.
Aktualisieren Sie die Zielversion für alle Einträge unter Datei-> Einstellungen-> Erstellen, Ausführen, Bereitstellen -> Compiler -> Java-Compiler-> Bytecode-Version pro Modul.
quelle
In IntelliJ 2017 arbeitete die folgende Immobilie für mich
quelle
Eine weitere Sache, die dies verursachen könnte, ist falsch
version
von der<parent>
Projekt nicht .In meinem Fall zeigte es auf ein nicht vorhandenes Projekt und aus irgendeinem Grund stufte IntelliJ die Version in den Einstellungen auf 1.5 herab und später, als ich es reparierte, interpretierte es die Zielcodeversion immer noch als 5 (obwohl es auf 11 gesetzt wurde).
quelle