Soy nuevo en Maven e IntelliJ IDEA.
Tengo un proyecto de Maven escrito en Java 8. Siempre que intento compilarlo (ventana Proyectos de Maven -> Ciclo de vida -> compilar -> Ejecutar compilación de Maven) obtengo una serie de errores de compilación:
[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)
¿Dónde se supone que debo cambiar el valor del parámetro -source? Intenté agregarlo como un parámetro adicional en Configuración -> Compilador -> Compilador de Java, pero obtuve los mismos resultados.
Los niveles de idioma del proyecto y del módulo se establecen en 8.0.
Estoy usando Maven 3.2.3 e IntelliJ IDEA Community Edition 13.1.2.
java
maven
intellij-idea
tearvisus
fuente
fuente
Respuestas:
O más fácil, agregue esto a la
properties
sección de su pom :<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
fuente
Resumen:
Para cambiar el nivel de idioma, utilice
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.4</source> <target>1.4</target> </configuration> </plugin> </plugins> </build>
¡Las propiedades no siempre cambian el nivel de idioma de Intellij!
En el siguiente código, 1.4 se configuró en el pom usando maven-compiler-plugin
(el jdk de Intellij es 1.8) y el nivel de idioma del proyecto se cambió en consecuencia a 1.4:
¡Fue revisado dos veces! Es un ejemplo. La mayoría de las veces, no degradará la versión del JDK a 1.4.
Por supuesto, si usa propiedades, digamos que coloca el pom 1.8, luego, si usa un JDK 1.8 en Intellij (el nivel de idioma predeterminado es 1.8 o el idioma predeterminado se cambió manualmente), entonces podrá codificar en 1.8 PERO en la compilación de mvn, las propiedades NO se verán y usará Maven 1.5 y la compilación NO tendrá éxito.
fuente
Cambie la fuente como se muestra a continuación en 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>
fuente
No creo que ninguna respuesta a la pregunta aborde la preocupación: " ... en IntelliJ ".
Estos son los pasos:
fuente
Agregar las siguientes líneas a la raíz (nivel de proyecto) pom.xml me funcionó para resolver el problema anterior: (ambas opciones funcionaron para mí)
Opción 1:
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Opcion 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>
publicado originalmente en: IntelliJ IDEA 13 usa Java 1.5 a pesar de estar configurado en 1.7
fuente
Hay dos formas de hacer esto:
Primero: agregar propiedades
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
segundo- Agregar complemento
<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
fuente
Debe agregar el siguiente código en su pom.xml para forzar el cambio de nivel de idioma
<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>
ahora intelliJ 2019.3 CE hace esto por usted si va a importar y luego alt + enter donde obtendrá una opción que dice "cambiar el nivel de idioma a 8 para usar esta funcionalidad"
fuente
abra la terminal de ubuntu, vaya a su directorio raíz y escriba:
export JAVA_HOME = <path to jdk>
por ejemplo, me funciona bien {haz lo mismo en la terminal IntelliJ}.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
para comprobar el tipo de valor establecido
echo $JAVA_HOME
para comprobar el tipo de versión de maven:
mvn -version
puede encontrar todas las rutas de los JDK escribiendo este comando y puede configurar la versión de JDK.
sudo update-alternatives --config java
también compruebe que tiene el mismo
java -version
yjavac -version
.fuente