Ich bin neu bei Maven und IntelliJ IDEA.
Ich habe ein Maven-Projekt in Java 8 geschrieben. Immer wenn ich versuche, es zu erstellen (Fenster Maven-Projekte -> Lebenszyklus -> Kompilieren -> Maven-Build ausführen), erhalte ich eine Reihe von Kompilierungsfehlern:
[ERROR] path/to/file.java:[26,52] lambda expressions are not supported in -source 1.5
(use -source 8 or higher to enable lambda expressions)
Wo soll ich den Wert des Parameters -source ändern? Ich habe versucht, es als zusätzlichen Parameter unter Einstellungen -> Compiler -> Java-Compiler hinzuzufügen, aber ich habe die gleichen Ergebnisse erhalten.
Die Sprachniveaus des Projekts und des Moduls sind beide auf 8.0 eingestellt.
Ich verwende Maven 3.2.3 und IntelliJ IDEA Community Edition 13.1.2.
java
maven
intellij-idea
Tearvisus
quelle
quelle
Antworten:
Oder einfacher, fügen Sie dies dem
properties
Abschnitt Ihres Poms hinzu :<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
quelle
Zusammenfassung:
Verwenden Sie zum Ändern des Sprachniveaus
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.4</source> <target>1.4</target> </configuration> </plugin> </plugins> </build>
Die Eigenschaften ändern nicht immer das Sprachniveau von Intellij!
Im folgenden Code wurde 1.4 im POM mit dem Maven-Compiler-Plugin konfiguriert
(das JDK von Intellij ist 1.8) und das Sprachniveau des Projekts wurde entsprechend in 1.4 geändert:
Es wurde doppelt überprüft! Es ist ein Beispiel. Meistens werden Sie die Version des JDK nicht auf 1.4 herunterstufen!
Wenn Sie Eigenschaften verwenden, beispielsweise POM 1.8, und wenn Sie in Intellij ein 1.8 JDK verwenden (der Standard für die Sprachstufe ist 1.8 oder der Standard für die Sprache wurde manuell geändert), können Sie 1.8 codieren ABER bei der mvn-Kompilierung werden die Eigenschaften NICHT angezeigt und Sie verwenden standardmäßig Maven 1.5 und die Kompilierung wird NICHT erfolgreich sein!
quelle
Ändern Sie die Quelle wie unten in pom.xml gezeigt
<build> <finalName>MQService</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
quelle
Ich glaube nicht, dass eine Antwort auf die Frage das Problem angesprochen hat - "... in IntelliJ ".
Hier sind die Schritte: -
quelle
Das Hinzufügen der folgenden Zeilen zu root (Projektebene) pom.xml hat mir geholfen, das obige Problem zu beheben: (beide Optionen haben bei mir funktioniert)
Option 1:
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Option 2:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
ursprünglich veröffentlicht unter: IntelliJ IDEA 13 verwendet Java 1.5 trotz Einstellung auf 1.7
quelle
Es gibt zwei Möglichkeiten, dies zu tun:
Zuerst Eigenschaften hinzufügen
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
2. Add Plugin hinzufügen
<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
quelle
Sie sollten den folgenden Code in Ihre pom.xml einfügen, um eine Änderung der Sprachstufe zu erzwingen
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> </build>
Jetzt erledigt IntelliJ 2019.3 CE dies für Sie, wenn Sie zum Import gehen und dann Alt + Enter eingeben. Dort erhalten Sie die Option "Ändern Sie die Sprachstufe auf 8, um diese Funktionalität zu nutzen".
quelle
Öffnen Sie das Ubuntu-Terminal in Ihrem Stammverzeichnis und geben Sie Folgendes ein:
export JAVA_HOME = <path to jdk>
Zum Beispiel funktioniert es gut für mich {mache dasselbe im IntelliJ-Terminal}.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
um den eingestellten Werttyp zu überprüfen
echo $JAVA_HOME
So überprüfen Sie den Maven-Versionstyp:
mvn -version
Sie können alle Pfade von JDKs finden, indem Sie diesen Befehl eingeben, und Sie können die JDK-Version festlegen.
sudo update-alternatives --config java
Überprüfen Sie auch, ob Sie dasselbe haben
java -version
undjavac -version
.quelle