Je suis nouveau chez Maven et IntelliJ IDEA.
J'ai un projet Maven écrit dans Java 8.). Chaque fois que j'essaie de le construire (fenêtre Projets Maven -> Cycle de vie -> compiler -> Exécuter Maven Build), je reçois une série d'erreurs de compilation:
[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)
Où suis-je censé changer la valeur du paramètre -source? J'ai essayé de l'ajouter en tant que paramètre supplémentaire dans Paramètres -> Compilateur -> Java Compilateur, mais j'ai obtenu les mêmes résultats.
Les niveaux de langue du projet et du module sont tous deux réglés sur 8.0.
J'utilise Maven 3.2.3 et IntelliJ IDEA Community Edition 13.1.2.
Ou plus facilement, ajoutez ceci à la section properties
de votre pompon:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Sommaire:
Pour changer le niveau de langue, utilisez
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.4</source>
<target>1.4</target>
</configuration>
</plugin>
</plugins>
</build>
Les propriétés ne changent pas toujours le niveau de langue d'Intellij!
Dans le code ci-dessous, 1.4 a été configuré dans le pom à l’aide de maven-compiler-plugin
(le jdk d’Intellij est 1.8) et le niveau de langue du projet a été modifié en conséquence en 1.4:
Il a été vérifié deux fois! C'est un exemple. La plupart du temps, vous ne réduisez pas la version du JDK à la version 1.4!
Bien sûr, si vous utilisez des propriétés, disons que vous avez inséré le pom 1.8, puis si vous utilisez un JDK 1.8 dans Intellij (le niveau de langue par défaut est 1.8 ou la langue par défaut a été modifiée manuellement), vous pourrez alors coder en 1.8 MAIS à la compilation mvn, les propriétés ne seront pas vues et vous passerez par défaut à Maven 1.5 et la compilation n'aboutira pas!
Changer la source comme indiqué ci-dessous dans pom.xml
<build>
<finalName>MQService</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
L'ajout de lignes ci-dessous à la racine (au niveau du projet) pom.xml m'a permis de résoudre le problème ci-dessus: (les deux options ont fonctionné pour moi)
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>
publié à l'origine à: IntelliJ IDEA 13 utilise Java 1,5 malgré le réglage sur 1,7
Il y a deux façons de le faire :
Première- Ajouter des propriétés
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
second- Add Plugin
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>